(once-only (string value winp consumedp)
(with-gensyms (my-value my-winp my-consumedp label what)
`(let ((,scanner (make-string-scanner ,string)))
+ (declare (ignorable ,scanner))
(multiple-value-bind (,my-value ,my-winp ,my-consumedp)
(with-parser-context
(character-scanner-context :scanner ,scanner)