anchor.diff:  
   (defmacro future (kernel &body body)
     `(make-future ,kernel (make-task-fn ,@body)))
  -
  -(defun/inline fulfilledp (future)
  -  (declare #.*full-optimize*)
  -  (not (eq (result future) +no-result+)))
  -
  -(defun/inline force (future)
  -  (declare #.*full-optimize*)
  -  (unwrap-result (result future)))
   
   ;;;; declarationp
   
  
positive.code:           (progn ,@body)
         (update-task-count ,kernel -1))))
  
  (defun force/fast (kernel future)
    (declare #.*full-optimize*)
    (if (fulfilledp future)
        (force future)
  
negative.code:   `(with-lock-predicate/wait*
         :lock            (limiter-data-lock (limiter-data ,kernel))
         :predicate1      ,predicate
         :predicate2      (accept-task-p/fast ,kernel)
         :succeed/lock    (update-task-count/no-lock ,kernel ,future-count)
         :succeed/no-lock (future-let :kernel ,kernel
                                      :future future/fast
  