anchor.diff:  (in-package :kilns)
   
   (defclass process ()
  -  ((parent :accessor parent))) ; FIXME: really only a property of _active_ processes …
  +  ;; FIXME: really only a property of _active_ processes …
  +  ((parent :accessor parent)))
   
   (deftype generic-process ()
     "This allows us to use various primitives as processes."
  
positive.code:       pc))
    (:method ((process-a parallel-composition) (process-b process-variable))
      (let ((pc (make-instance 'parallel-composition)))
        (psetf (process-variables pc) (cons process-b (process-variables process-a))
               (messages pc) (messages process-a)
               (kells pc) (kells process-a)
               (triggers pc) (triggers process-a)
  
negative.code:           (0 null-process)
            (1 (car (map-parallel-composition #'identity par)))
            (otherwise par)))
        (error "The (variable) process ~a is not contained in ~a, and thus can ~
                not be removed."
               process par)))
    (:method ((process process-variable) (var process-variable))
      (if (find process (process-variables-in var))
        null-process
        (error "The (variable) process ~a is not contained in ~a, and thus can ~
                not be removed."
               process var)))
    (:method ((process process-variable) trigger)
      (if (find process (process-variables-in (process trigger)))
        (typecase (process trigger)
          (process-variable (setf (process trigger) null-process))
          (parallel-composition (setf (process-variables (process trigger))
                                      (delete process
                                              (process-variables
                                               (process trigger))))
                                (case (length (map-parallel-composition
                                               #'identity
                                               (process trigger)))
                                  (0 (setf (process trigger) null-process))
                                  (1 (setf (process trigger)
                                           (car (map-parallel-composition
                                                 #'identity
                                                 (process trigger))))))))
        (error "The (variable) process ~a is not contained in ~a, and thus can ~
                not be removed."
               process (process trigger))))
    (:method ((process message) kell)
      (if (find process (messages-in (process kell)))
  