anchor.diff:               (let ((head (first pattern)))
                  (if (has-meta-classp head)
                      (values head)
  -                 (parsing-error "This pattern has no meta class: ~S" head))))
  +                 (parsing-error "This pattern has no meta class: ~S" pattern))))
              (parse-slot (slot)
                (with-slot-components ((name field constraint) slot)
                  (cond ((and (symbolp name)
  
positive.code:                       `(,name ,field ,constraint))
                       (t
                        (parsing-error
                         "In pattern ~S there are type problems with this slot: ~S" slot)))))
             (parse-pattern-body (body slots)
               (let ((slot (first body)))
                 (cond ((consp slot)
  
negative.code:         (find-before *rule-separator* body :test #'eq)
        (if (not (null remains))
            (values (parse-lhs lhs nil)
                    (parse-rhs (find-after *rule-separator* remains :test #'eq)))
          (parsing-error "Missing rule separator.")))))
  
  (defun make-rule-pattern (template)
  