anchor.diff:  (defun copy-node (node)
     (copy-array node))
   
  +(defun node-size (node)
  +  (fill-pointer node))
  +
   (defun node-get (node index)
     (declare (fixnum index))
     (aref node index))
  
positive.code:                                 :length length
                                  :height height))))
  
  (defun index-at-height (index height)
    (declare (fixnum index height))
    (logand (rsh index (* height 5)) 31))
  
negative.code:           (node-update node next-index
                      (node-push-deep child item length (1- height)))
            (node-push node (node-grow item (1- height)))))))
  
  (defun node-pop-deep (node length height)
    (declare (fixnum length height))
    (let ((next-index (index-at-height (- length 2) height)))
      (if (> height 1)
          (let ((child (node-pop-deep node length (1- height))))
            (if (> (node-size child) 0)
                (node-update node next-index child)
                (node-pop node)))
          (node-pop node))))
  