anchor.diff:  
   (defun form-p (what form)
     (and (consp form) (eql (car form) what)))
  -
   
   ;;; I/O protocol ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
  
positive.code:                   ((parser-call-p form names)  (compile-parser-call (mklist form) input names state))
                    ((stringp form)              (compile-string form input))
                    ((characterp form)           (compile-character form input))
                    (t                           `(values t ,form (copy-input ,input))))
               (when (or (eql ,next-input ,input) (not ,ok))
                 ,@(restore-state state-bindings))
               (when ,ok
  
negative.code:   "Slight optimization for the case where we just have a parser function being
  called with the input as its only argument."
    (if (and (consp x) (grammar-p (car x) names) (= (length x) 2))
        `(function ,(car x))
        `(lambda (,input) ,x)))
  
  (defun compile-string (str input) `(matching-string ,str ,(length str) ,input))
  