anchor.diff:    (let ((owner (owner owner-identifier history)))
       (remhash owner-identifier (owners history))
       (when (eq owner (current-owner history))
  -      (setf (current-owner history)
  +      (setf (slot-value history 'current-owner)
               (first-hash-table-value (owners history))))
       (when owner
         (mapc
  
positive.code:     (unless owner
        (setf owner
              (setf (gethash owner-identifier (owners history)) (make-instance 'owner))))
      (setf (current-owner history) owner)))
  
  (export-always 'current-owner-node)
  ;; (declaim (ftype (function (history-tree) (or null node)) current-owner-node)) ; TODO: Fix type.
  
negative.code:                  (apply (if flatten #'append #'(lambda (&rest args) args))
                          (mapcar #'traverse (funcall children-function node)))))))
      (let ((root (typecase tree
                    (node tree)
                    (history-tree (root tree)))))
        (when root
          (if include-root
              (traverse root)
  