anchor.diff:        ((null (current owner))
          (let* ((creator-node (and creator-owner (current creator-owner)))
                 (new-node (make-node :entry (add-entry history data)
  -                                   :parent creator-node)))
  +                                   :parent creator-node
  +                                   :history history)))
            (when creator-owner
              (push new-node (children creator-node)))
            (setf (origin owner) new-node
  
positive.code:           (setf (last-access binding) (local-time:now))
            (setf (gethash owner (bindings node))
                  (make-instance 'binding))))
      (cl-custom-hash-table:with-custom-hash-table
        (pushnew node (gethash (entry node) (entries history))))
      (values history node)))
  
  (defmethod visit-all ((history history-tree) node)
  
negative.code:       (root (parent node))
        node))
  
  (defun make-node (&key parent entry history)
    (let ((node (make-instance 'node :parent parent :entry entry)))
      (cl-custom-hash-table:with-custom-hash-table
        (pushnew node (gethash (entry node) (entries history))))
      node))
  
  (define-class binding ()
    ((forward-child  nil
  