anchor.diff:  (defun data-last-access (history data)
     "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* ((accessors (find-accessors history data))
  -         (nodes (and accessors (nodes accessors))))
  +  (let* ((entry (find-entry history data))
  +         (nodes (when entry (nodes entry))))
       (the (values local-time:timestamp &optional)
            (if nodes
                (let ((new-last-access
                        (apply #'local-time:timestamp-maximum
  -                            (mapcar #'last-access (nodes accessors)))))
  -               (setf (last-access accessors) new-last-access)
  +                            (mapcar #'last-access nodes))))
  +               (setf (last-access entry) new-last-access)
                  new-last-access)
  -             (if accessors
  -                 (last-access accessors)
  +             (if entry
  +                 (last-access entry)
                    (local-time:unix-to-timestamp 0))))))
   
   (define-class owner ()
  
positive.code: We allow null values for easier deserialization.")
     (value nil
            :type t
            :documentation "Arbitrary data."))
    (:accessor-name-transformer #'class*:name-identity)
    (:export-accessor-names-p t)
    (:documentation "Wrapped data as stored in `history-tree''s `entries'."))
  
negative.code: 
  (defun delete-node (history node)
    (cl-custom-hash-table:with-custom-hash-table
      (let ((entry (gethash (entry node) (entries history))))
        (when entry
          (alex:deletef (nodes entry) node)))))
  
  (defun delete-disowned-branch-nodes (history nodes)
    (labels ((garbage-collect (list-of-roots)
  