anchor.diff:      (bordeaux-threads:with-lock-held (lock)
         (if (eq head tail)
             (values nil nil)
  -          (values (pop (cdr head)) t)))))
  +          (multiple-value-prog1 (values (pop (cdr head)) t)
  +            (when (endp (cdr head))
  +              (setf tail head)))))))
  
positive.code:             (:predicate queuep)
              (:constructor make-queue
                  (&aux (head (list '.head.)) (tail head))))
    (lock (bordeaux-threads:make-lock) :type bordeaux-threads:lock)
    (head nil :type list)
    (tail nil :type list))
  
  (defun queue-enqueue-front (queue object)
    "Inserts OBJECT at the front of QUEUE."
    (with-accessors ((lock queue-lock)
                     (head queue-head)) queue
      (bordeaux-threads:with-lock-held (lock)
        (push object (cdr head))))
    queue)
  
  (defun queue-enqueue-back (queue object)
  
negative.code:                    (head queue-head)
                     (tail queue-tail)) queue
      (bordeaux-threads:with-lock-held (lock)
        (let ((new-cons (list object)))
          (setf (cdr tail) new-cons)
          (setf tail new-cons))))
    queue)
  
  (defun queue-dequeue (queue)
  