anchor.diff:            (append (messages-in (process process))
                     (kells-in (process process))
                     (triggers-in (process process))))
  -    (setf (process process) (replace-variables (process process) process mapping ignored-vars))
  +    (setf (process process) (replace-variables (process process) mapping ignored-vars))
       (printk "new process: ~a~%" process)))
   
   (defmethod trigger-process ((trigger trigger) mapping)
  
positive.code:       (reduce #'compose-processes (cons process substituted-processes))))
  
  ;;; FIXME: this is crying out for some simplification
  (defgeneric substitute-variables (mapping process &optional ignored-vars)
    (:method (mapping (process message) &optional ignored-vars)
      (mapc (lambda (proc) (substitute-variables mapping proc ignored-vars))
  
negative.code:                   (messages-in (continuation process))
                    (kells-in (continuation process))
                    (triggers-in (continuation process))))
      (setf (process process) (replace-variables (process process) mapping ignored-vars)
            (continuation process) (replace-variables (continuation process) mapping ignored-vars))
      (printk "new process: ~a~%" process))
    (:method (mapping (process trigger) &optional ignored-vars)
      (setf ignored-vars (append (bound-variables (pattern process)) ignored-vars))
  