anchor.diff:  ;; TODO: Unexport most (all?) slot writers.
   ;; TODO: Review docstrings.
   ;; TODO: Is "Shared history tree" a better name than "Global history tree"?
  +
  +;; TODO: Add forward and back functions to unowned nodes.
   
   (defmacro export-always (symbols &optional (package nil package-supplied?)) ; From serapeum.
     "Like `export', but also evaluated at compile time."
  
positive.code:     ;; disowned nodes.
      ;;
      ;; Alternative: Browse the nodes of the deleted owner, unbind each disowned
      ;; node, and for every owned node that has a disowned parent, rebind it to
      ;; the root.  We lose more information this way, but it's easier.
      owner))
  
  
negative.code:     ;; Solution: node's `data' should be a class with 2 slots: `payload' and `nodes'.
      ;; Then the `data' can be held in the stash only.
      ;;
      ;; Stash should use (make-hash-table :test 'equalp)
      ;;
      ;; We need to add a function to cleanup the stash.
      ;; - If it has only disowned nodes _not in the tree_, easy.
      ;; - If it has disowned nodes in the tree, we need to unbind all these nodes.
  