anchor.diff:  
   (in-package :history-tree)
   
  -;; TODO: Unexport most (all?) slot writers.
  -;; TODO: Review docstrings.
  -;; TODO: Is "Shared history tree" a better name than "Global history tree"?
  -
  -;; TODO: Turn unique defmethod to defuns.
  -;; TODO: Thread safe?
  -
   ;; TODO: Add function to reparent all the branches of an owner.  Test owner
   ;; deletion first.
  +;; TODO: Thread safe?
   
   ;; TODO: Add forward and back functions to unowned nodes, maybe leveraging `visit-all'?
   ;; TODO: Should we have different functions for finding nodes vs. "owned nodes",
   ;; or pass an option as key argument?
  +
  +;; TODO: Is "Shared history tree" a better name than "Global history tree"?
  +;; TODO: Turn unique defmethod to defuns.
   
   (defmacro export-always (symbols &optional (package nil package-supplied?)) ; From serapeum.
     "Like `export', but also evaluated at compile time."
  
positive.code: 
  (define-class node ()
    ((parent nil
             :type (or null node))
     (children '()
               :documentation "List of nodes.")
     (bindings (make-hash-table)
               :documentation "The key is an `owner', the value is a
  `binding'.  This slot also allows us to know to which owner a node belongs.")
     (entry (error "Entry required")
            :type entry
            :documentation "Arbitrary data (wrapped in an `entry' object) carried
  by the node.  `history-tree''s `entries' holds this `entry'-`node' association."))
    (:export-class-name-p t)
    (:export-accessor-names-p t)
    (:accessor-name-transformer #'class*:name-identity)
    (:documentation "Internal node of the history tree."))
  
  (export 'value)
  (defmethod value ((node node))
  
negative.code: (define-class binding ()
    ((forward-child  nil
                    :type (or null node)
                    :documentation "Which of the `children' (in the bound `node')
  is the child to go forward to for the bound owner.")
     (last-access (local-time:now)
                  :type (or local-time:timestamp string) ; Support `string' for easier deserialization.
                  :documentation "Timestamp of the last access to this node by the
  