anchor.diff:  (defun make-entry (history data)
     "Return an `entry' wrapping DATA and suitable for HISTORY."
     (make-instance 'entry :value data
  -                        :key (key history)
  -                        :test (test history)
  -                        :hash-function (hash-function history)))
  +                        :history history))
   
   (define-class node ()
     ((parent nil
  
positive.code:   "Return data last access across all its nodes, regardless of the owner.
  Return Epoch if DATA is not found or if entry has no timestamp."
    (let ((nodes (find-nodes history data)))
      (if nodes
          (the (values local-time:timestamp &optional)
               (apply #'local-time:timestamp-maximum
                      (mapcar #'last-access nodes)))
          (local-time:unix-to-timestamp 0))))
  
  (define-class owner ()
    ;; TODO: Add slot pointing to history an owner belongs to?  Unnecessary if we never expose the `owner' to the caller.
  
negative.code:   (remhash owner (bindings node)))
  
  (defun entry-equal-p (a b)
    (let ((h (history a)))
      (funcall (test h)
               (funcall (key h) (value a))
               (funcall (key h) (value b)))))
  
  (defun entry-hash (a)
    (let ((h (history a)))
      (funcall (hash-function h) (funcall (key h) (value a)))))
  
  (cl-custom-hash-table:define-custom-hash-table-constructor make-entry-hash-table
    :test entry-equal-p
    :hash-function entry-hash)
  
  (defun data-equal-entry-p (data entry)
    (let ((h (history entry)))
      (funcall (test h)
               (funcall (key h) (value entry))
               (funcall (key h) data))))
  
  (export-always 'add-entry)
  (defun add-entry (history data)
  