anchor.diff:          (%node-cut queue node parent)
           (%node-cascading-cut queue parent))
         (setf (min-node-of queue) node)
  -      (qpop queue)
  +      (%queue-pop queue nil)
         (node-value node))))
  +
  +;;; ---------------------------------------------------------------------------
  +
  +(defmethod queue-delete ((queue priority-queue) node)
  +  (%queue-delete queue node))
   
   ;;;
   ;;; Printing and mapping
  
positive.code: ;;; ---------------------------------------------------------------------------
  
  (defun queue-consolidate (queue)
    (let ((unique (make-array (ceiling (log (queue-size queue) 1.618))
                              :initial-element nil)))
      (map-siblings
       (lambda (node &aux (degree (node-degree node)))
         (unless (node-parent node)
           (loop while (aref unique degree) do
                (let ((other (aref unique degree)))
  
negative.code: 
  ;;; ---------------------------------------------------------------------------
  
  (defun %queue-pop (queue empty-value)
    (let ((min (min-node-of queue)))
      (unless min
        (return-from %queue-pop
          (values empty-value nil)))
      (labels ((add-children (node)
                 (map-children (lambda (x)
  