 
 ; TODO: remove-range?
 ; TODO: drop-partition?
+
+
+
+
+
+;; TODO: what happens if the final child is orphaned?
+;;
+;;            ..*..
+;;           /  |  \
+;;     >    *   O  [O]
+;;         /|\ /|\ / \
+;;         @#@ ### # #
+;;
+;;            ..*..
+;;           /  |  \
+;;          *   O   O
+;;         /|\ /|\ / \
+;;     >   @#@ ###[x]#
+;;
+;;            ..*..
+;;           /  |  \
+;;          *   O   O
+;;         /|\ /|\  |
+;;     >   @#@ ### [#]
+;;
+;;            ..*..
+;;           /  |  \
+;;     >    *   O  [#]
+;;         /|\ /|\
+;;         @#@ ###
+;;
+;;     >      [*](#)
+;;           /   \
+;;          *     O
+;;         /|\   /|\
+;;         @#@   ###
+;;
+;; Higher-level node needs to recognize the orphan and do another pass down the
+;; (now final) child node:
+;;
+;;            .*.
+;;           /   \
+;;     >    *    [O](#)
+;;         /|\   /|\
+;;         @#@   ###
+;;
+;;            .*.
+;;           /   \
+;;     >    *    [*]
+;;         /|\  // \\
+;;         @#@  ## ##
+;;
+;; Say that node had been full:
+;;
+;;            .*.
+;;           /   \
+;;     >    *    [*]
+;;         /|\  //|\\
+;;         @#@  #####
+;;
+;;            ..*..
+;;           /  |  \
+;;     >    *  [*   *]
+;;         /|\ / \ /|\
+;;         @#@ # # ###
+;;
+;;     >      .[*].
+;;           /  |  \
+;;          *   *   *
+;;         /|\ / \ /|\
+;;         @#@ # # ###
+;;

;;          /|\    /|\/|\/ \
;;     >   U x[U]  ####### #
;;
;; ### Redistribute Children
;;
;; In the **distribution** phase, any candidate children which have over or

;; - `@` - persisted partition leaf
;; - `U` - underflowing partition leaf
;; - `x` - node which has had all children deleted
;;
;; Algorithm Phases:
;;
;; - divide changes (downward)
;; - apply changes (to partition leaves)
;; - carry orphans (upward/sideways)
;; - redistribute children
;; - serialize the tree


;; ### Divide Changes
;;
;; In the first **downward** phase, changes at the parent are grouped by the
;; child which links to the subtree containing the referenced keys.
;;
;;     >       ..[O]..        [????|?????]
;;            /       \
;;           O        .O.
;;          / \      / | \
;;         O   O    O  O  O
;;        /|\ / \  / \/|\/ \
;;        ### # #  # ##### #
;;
;;             ...O...             |?????]
;;            /       \
;;     >    [O]       .O.     [??|???]
;;          / \      / | \
;;         O   O    O  O  O
;;        /|\  |\  / \/|\/ \
;;        ###  ##  # ##### #
;;
;;             ...O...             |?????]
;;            /       \
;;           O        .O.        |???]
;;          / \      / | \
;;     >  [O]  O    O  O  O   [?|?]
;;        /|\  |\  / \/|\/ \
;;        ###  ##  # ##### #
;;
;;             ...O...             |?????]
;;            /       \
;;           O        .O.        |???]
;;          / \      / | \
;;         O   O    O  O  O     |?]
;;        /|\  |\  / \/|\/ \
;;     >[#]##  ##  # ##### #  [?]


;; ### Apply Changes
