anchor.diff:             "QUEUE" "MAKE" "P" "ALIVE-P"
              "ENQUEUE" "ENQUEUE-ALL" "STOP"
              "PUSH-SELF" "PUSH-SELF-ALL"
  -           "CURRENT-QUEUE")
  +           "PROGRESS-UNTIL"
  +           "CURRENT-QUEUE" "WORKER-ID" "WORKER-COUNT")
     (:import-from "WORK-STACK"
                   "TASK" "TASK-P"
                   "BULK-TASK" "BULK-TASK-P"
  
positive.code:              (inner)
               (sb-sys:scrub-control-stack)))))
       :name (format nil "Work queue worker ~A/~A" i nthread))))
  
  (defun make (nthread &optional constructor &rest arguments)
    (declare (type (and unsigned-byte fixnum) nthread)
  
negative.code:            (try))
          ;; Don't do this at home.
         (setf fast nil)
         (with-mutex (lock)
           (if (condition-wait cvar lock :timeout timeout)
               (setf fast t)
               (grab-mutex lock)))
         (when (and max-time (> total max-time))
           (incf total timeout)
           (return :timeout))
         (setf timeout (min 1.0 (* timeout 1.1)))))))
  
  (defun %make-worker (wqueue i &optional binding-names binding-compute)
    (let* ((locks  (queue-locks  wqueue))
  