anchor.diff:    (:accessor-name-transformer #'class*:name-identity)
     (:documentation "Staring point of the global history tree data structure."))
   
  -(defun make ()
  -  (make-instance 'history-tree))
  +(defun make (&key entry-key)            ; TODO: Useless?
  +  (make-instance 'history-tree :entry-key entry-key))
   
   (export-always 'owner)
  +(declaim (ftype (function (history-tree t) (or null owner)) owner))
   (defun owner (history owner-identifier)
     "Return the `owner' object identified by OWNER-IDENTIFIER in HISTORY."
     (gethash owner-identifier (owners history)))
   
   (export-always 'set-current-owner)
  -(declaim (ftype (function (history-tree t) owner) set-current-owner))
  +;; (declaim (ftype (function (history-tree t) owner) set-current-owner)) ; TODO: Fix type.
   (defun set-current-owner (history owner-identifier)
     "OWNER-IDENTIFIER is arbitrary data representing an `owner'."
     (let ((owner (owner history owner-identifier)))
  
positive.code:            (setf (forward-child binding) node))
           (forward history)))
        (t
         (setf (value (entry node)) data)))
      (current owner)))
  
  (export 'add-children)
  
negative.code:           (gethash new-entry (entries history))
          (if found?
              (progn
                (setf (value existing-entry) data)
                existing-entry)
              (progn
                (setf (gethash new-entry (entries history)) '())
                new-entry))))))
  
  (define-class history-tree ()           ; TODO: Rename `history'?
    ((root nil
           :type (or null node)
           :documentation "The root node.
  