anchor.diff:  ;;; internal structure maintaining functions
   
   (declaim (ftype (function ((or null node))
  -                          (integer -1 #.(floor (log most-positive-fixnum
  -                                                    (/ (1+ (sqrt 5)) 2)))))
  +                          (integer -1 #.(floor (log most-positive-fixnum 2))))
                   d-rank))
   
   (defun attach-child (parent child)
  
positive.code:   (lchild nil :type (or null node))
    (rchild nil :type (or null node))
    (parent nil :type (or null node))
    (rank 0 :type (integer 0 #.(floor (log most-positive-fixnum
                                           (/ (1+ (sqrt 5)) 2))))))
  
  (defclass rank-pairing-heap ()
    ((size :initform 0 :initarg :size
  
negative.code:   (declare (type rank-pairing-heap heap))
    (let ((root (slot-value heap 'root))
          (size (slot-value heap 'size))
          (buckets (make-array #.(ceiling (log most-positive-fixnum 2))
                               ;; approx of max. required buckets
                               :element-type '(or null node)
                               :initial-element nil)))
  