anchor.diff:  (defmacro %%plet/fast (kernel future/fast update-task-count/no-lock
                          predicate future-count bindings body)
     `(with-lock-predicate/wait*
  -       :lock            (lock (optimizer-data ,kernel))
  +       :lock            (task-counter-lock (task-counter ,kernel))
          :predicate1      ,predicate
          :predicate2      (accept-task-p ,kernel)
          :succeed/lock    (,update-task-count/no-lock ,kernel ,future-count)
  
positive.code: 
  (locally (declare #.*full-optimize*)
    (defslots task-counter ()
      ((count              :initform 0 :type fixnum)
       (lock  :reader lock :initform (make-lock)))))
  
  (setf *make-optimizer-data* 'make-task-counter-instance)
  
  (defmacro accept-task-p (kernel)
    (check-type kernel symbol)
  
negative.code: (defmacro define-update-task-count/no-lock (name op)
    `(defun/type ,name (kernel delta) (kernel fixnum) t
       (declare #.*full-optimize*)
       (with-optimizer-slots ((accept-task-p optimizer-flag)
                              (task-counter optimizer-data)) kernel
         (with-task-counter-slots (count) task-counter
           (incf count delta)
           ;; `<=' returns generalized boolean
           (setf accept-task-p
                 (to-boolean (<= count (the fixnum (,op kernel)))))))))
  
  (macrolet ((n-workers   (k) `(%kernel-worker-count ,k))
  