anchor.diff:      (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 node-with-parent)
  +     (parent node-with-parent)
  +     (grandparent node-with-parent))
  +  (rotate-right parent)
  +  (rotate-left grandparent)
     node)
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code: 
  (defgeneric splay-step (node))
  
  (defmethod splay-step ((node clump-binary-tree:node-with-parent))
    (let ((parent (clump-binary-tree: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))
  	do (splay-step node))
    node)
  
negative.code:     (node parent grandparent))
  
  (defmethod splay-step-with-right-parent-and-right-grandparent
      ((node node-with-parent)
       (parent node-with-parent)
       (grandparent node-with-parent))
    (rotate-right grandparent)
    (rotate-right parent)
    node)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  