anchor.diff:  
   (defmethod cpf-list ((car (eql 'or>)) form context env)
     "return the rule that has the longest match"
  +  (declare (ignore car))
     (unless (cdr form) ; style tweak, doesn't change runtime, mimics (cl:or)
       (return-from cpf-list nil))
     (with-slots (string start end) context
  
positive.code: 
  ;; new flat method (less nesting is easier to read?)
  (defmethod cpf-list ((car (eql 'and)) form context env)
    (unless (cdr form) ; style tweak, doesn't change runtime, mimics (cl:and)
      (return-from cpf-list (slot-value context 'start)))
    (with-slots (string start end) context
  
negative.code:       `(,head ,string ,start ,end ,@rest))))
  
  (defmethod cpf-list ((car (eql :parse)) form context env)
    (declare (ignore car context env))
    (error ":parse not in :cl - ~S" form))
  
  (defmethod cpf-list ((car (eql :context)) form context env)
    (declare (ignore car context env))
    (error ":context not in :cl - ~S" form))
  
  
  