anchor.diff:  
   (defgeneric splay-step (node))
   
  -(defmethod splay-step ((node clump-binary-tree:node-with-parent))
  -  (let ((parent (clump-binary-tree:parent node)))
  +(defmethod splay-step ((node node-with-parent))
  +  (let ((parent (parent node)))
       (unless (null parent)
         (splay-step-with-parent node parent)))
     node)
   
   (defgeneric splay (node))
   
  -(defmethod splay ((node clump-binary-tree:node-with-parent))
  -  (loop until (null (clump-binary-tree:parent node))
  +(defmethod splay ((node node-with-parent))
  +  (loop until (null (parent node))
   	do (splay-step node))
     node)
  
positive.code:     (node parent grandparent))
  
  (defmethod splay-step-with-right-parent-and-left-grandparent
      ((node clump-binary-tree:node-with-parent)
       (parent clump-binary-tree:node-with-parent)
       (grandparent clump-binary-tree:node-with-parent))
    (clump-binary-tree:rotate-right parent)
    (clump-binary-tree:rotate-left grandparent)
    node)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
negative.code:     (node parent grandparent))
  
  (defmethod splay-step-with-left-parent-and-right-grandparent
      ((node node-with-parent)
       (parent node-with-parent)
       (grandparent node-with-parent))
    (rotate-left parent)
    (rotate-right grandparent)
    node)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  