anchor.diff:  (defgeneric match (pattern process &optional substitutions)
     (:method ((pattern pattern) (process list)
               &optional (substitutions (make-empty-environment)))
  -    (second (match-local (local-message-pattern pattern)
  +    (values (match-local (local-message-pattern pattern)
                            process
                            substitutions)))
     (:method ((pattern pattern) (kell kell)
               &optional (substitutions (make-empty-environment)))
  -    (let ((processes (append (destructuring-bind (procs subst)
  +    (let ((processes (append (multiple-value-bind (subst procs)
                                    (match-list #'match-local
                                                (local-message-pattern pattern)
                                                (messages kell)
                                                substitutions)
                                  (setf substitutions subst)
                                  procs)
  -                             (destructuring-bind (procs subst)
  +                             (multiple-value-bind (subst procs)
                                    (match-list #'match-down
                                                (down-message-pattern pattern)
                                                (apply #'compose-hash-tables
  
positive.code:                                              substitutions)
                                 (setf substitutions subst)
                                 procs)
                               (destructuring-bind (procs subst)
                                   (match-list #'match-up
                                               (up-message-pattern pattern)
                                               (handler-case
  
negative.code:                       (error 'unification-failure
                               :format-control "Could not unify ~s with any process in ~s"
                               :format-arguments (list pattern processes))))
                    patterns)))
      (values substitutions processes)))
  
  (defgeneric match-local (pattern process &optional substitutions)
    (:method ((patterns list) (processes list)
  