anchor.diff:        :name (duplicate-process (name process))
         :process (duplicate-process (process process))
         :continuation (duplicate-process (continuation process))))
  +  (:method ((process pattern))
  +    (let ((pattern (make-instance 'pattern)))
  +      (psetf (local-message-pattern pattern)
  +             (duplicate-process (local-message-pattern process))
  +             (down-message-pattern pattern)
  +             (duplicate-process (down-message-pattern process))
  +             (up-message-pattern pattern)
  +             (duplicate-process (up-message-pattern process))
  +             (kell-message-pattern pattern)
  +             (duplicate-process (kell-message-pattern process)))
  +      pattern))
     (:method ((process trigger))
       (make-instance 'trigger
         :pattern (duplicate-process (pattern process))
         :process (duplicate-process (process process))))
     (:method ((process parallel-composition))
  -    (let ((pc (make-instance 'parallel-composition)))
  -      (psetf (messages pc) (mapcar #'duplicate-process (messages process))
  -             (kells pc) (mapcar #'duplicate-process (kells process))
  -             (triggers pc) (mapcar #'duplicate-process (triggers process))
  -             (process-variables pc) (mapcar #'duplicate-process
  -                                            (process-variables process))
  -             (primitives pc) (mapcar #'duplicate-process (primitives process)))
  -      pc))
  +    (apply #'parallel-composition
  +           (map-parallel-composition #'duplicate-process process)))
     (:method ((process restriction))
       (make-instance 'restriction
         :name (duplicate-process (name process))
  
positive.code:   (:method ((process cons) (kell kell))
      (add-process (eval process) kell))
    (:method ((process restriction) (kell kell))
      (let ((global-name (gensym (format nil "~a" (name process)))))
        (add-process (apply-restriction (name process) global-name (process process))
                     kell)))
    (:method ((process process) (kell kell))
  
negative.code: (defgeneric duplicate-process (process)
    (:method (process)
      process)
    (:method ((process cons))
      (mapcar #'duplicate-process process))
    (:method ((process message))
      (make-instance 'message
        :name (duplicate-process (name process))
  