anchor.diff:      (labels ((thunk (exp)
                  (if (input-is-only-arg-p exp names)
                      `(function ,(car exp))
  -                   `(lambda (,input)
  -                      (declare (ignorable ,input))
  -                      ,exp)))
  +                   `(lambda (,input) ,exp)))
                (self (exp) (compile-parser-argument exp names state)))
         (cond
           ((parser-function-invocation-p exp names)
  
positive.code:          (first body)
           input next-input names result state
           (compile-and (rest body) next-input names (gensym "R") state))))))
  
  (defun rewrite-returns (and-body)
    "Rewrite the list of forms to be compiled into a AND so that a (=> ...) form
  
negative.code: 
  (defun value (x)
    "Return X as a value rather than interpreting it as a parser. Mostly useful
  for returning specific characters or strings which would otherwise be
  interpreted as parsers."
    x)
  
  
  