anchor.diff:  ;;; ---------------------------------------------------------------------------
   
   (defun %queue-push (queue element rnode)
  -  (declare (optimize (debug 3)))
     (let ((min (min-node-of queue)))
       (incf (queue-size queue))
       (flet ((get-node (node)
   	     (cond ((queue-node-p node)
  -		     (setf (node-value node) element
  -			   (node-degree node) 0)
  -		     node)
  +		    (setf (node-value node) element
  +			  (node-degree node) 0)
  +		    node)
   		   (t (make-node :value element
   				 :degree 0)))))
         (if min
  
positive.code: 
  ;;; ---------------------------------------------------------------------------
  
  (defmethod qpop ((queue priority-queue) &optional empty-value)
    (let ((min (min-node-of queue)))
      (unless min
        (return-from qpop
          (values empty-value nil)))
      (labels ((add-children (node)
                 (map-children (lambda (x)
  
negative.code:       (queue-consolidate queue)
        (decf (queue-size queue)))
      (values (node-value min) t)))
  
  ;;; ---------------------------------------------------------------------------
  
  (defmethod qpop ((queue priority-queue) &optional empty-value)
    (%queue-pop queue empty-value))
  
  ;;; ---------------------------------------------------------------------------
  
  