anchor.diff:             :type hash-table
              :documentation "The key is an owner identifier (an artitrary balue),
   the value is an `owner'.")
  -   (current-owner (error "Owner required")
  -                  :reader current-owner
  -                  :type owner
  -                  :documentation "Must be one of the `owners' values.")
  +   (current-owner-identifier (error "Owner identifier required")
  +                  :reader current-owner-identifier
  +                  :type t
  +                  :documentation "Must be one of the `owners' keys.")
      (entries (make-entry-hash-table)
               :type hash-table
               :documentation "The key is an `entry', the value is the list of
  
positive.code: ;; TODO: Is "Shared history tree" a better name than "Global history tree"?
  
  ;; TODO: Add forward and back functions to unowned nodes.
  ;; TODO: Add `with-owner' macro.
  ;; TODO: Thread safe?
  
  (defmacro export-always (symbols &optional (package nil package-supplied?)) ; From serapeum.
  
negative.code:     (setf (gethash owner-identifier owners) initial-owner)
      (make-instance 'history-tree :entry-key entry-key
                                   :owners owners
                                   :current-owner-identifier owner-identifier)))
  
  (export-always 'owner)
  (declaim (ftype (function (history-tree t) (or null owner)) owner))
  