anchor.diff:  
   (defclass source-node-mixin ()
     ((validp :accessor validp :initform nil)
  -   (sinks :accessor sinks :initform nil)))
  +   (sinks :accessor sinks :initform nil))
  +  (:documentation "Mixin class that provides slots and some methods for the SOURCE-NODE protocol
  +class."))
   
   (defmethod (setf input) :after ((new-val source-node-mixin) sink input-name)
     (let ((node-entry (find sink (sinks new-val) :key #'car)))
  
positive.code: 
  #+(or)
  (progn
    (defclass plus-node (computation-node computation-node-mixin source-node-mixin sink-node-mixin)
      ())
  
    (defmethod compute ((node plus-node))
  
negative.code:   (:documentation "Node that consumes values via named inputs."))
  
  (defclass sink-node-mixin ()
    ((inputs :accessor inputs :initform nil :initarg :inputs))
    (:documentation "Mixin class that provides slots and some methods for the SINK-NODE protocol
  class"))
  
  (defmethod input ((node sink-node-mixin) input-name)
    (let ((input-entry (assoc input-name (inputs node))))
  