anchor.diff:  
   (export-always 'set-current-owner)
   (defun set-current-owner (history owner-identifier)
  -  "OWNER-IDENTIFIER is arbitrary data representing an `owner'."
  +  "Persistently switch owner for HISTORY.
  +OWNER-IDENTIFIER is arbitrary data representing an `owner'.
  +If OWNER-IDENTIFIER is set for the first time, a new `owner' is created.
  +See `with-current-owner' to set the owner locally.
  +See `delete-owner' to remove it from HISTORY."
     (let ((owner (owner history owner-identifier)))
       (unless owner
         (setf owner
  
positive.code:   (:export-class-name-p t)
    (:export-accessor-names-p t)
    (:accessor-name-transformer #'class*:name-identity)
    (:documentation "The relationship between an owner and the current node."))
  
  (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:   "Return the OWNER's owned children for the current node."
    (funcall (owned-children-lister owner) (current owner) ))
  
  (defun owned-parent (owner)             ; TODO: Unused.  Generalize for `history-tree'?
    "Return OWNER's parent if it's owned, nil otherwise."
    (let ((parent (parent (current owner))))
      (when (gethash owner (bindings parent))
  