anchor.diff:        (fulfill-plan/values future (multiple-value-list (funcall client-fn))))
       t))
   
  -(defmethod %force ((future %future))
  +(defun force-future (future)
     ;; If we are here then we've stolen the task from the kernel.
     (with-%future-slots (canceledp) future
       (setf canceledp t)
  
positive.code: unknown at the time it is created."
    (make-%promise-instance))
  
  (defmethod %fulfill ((promise %promise) client-fn)
    (with-%promise-slots (result lock cvar availablep) promise
      ;; spin until it is claimed
      (while availablep
  
negative.code:           (condition-notify-and-yield cvar))
          (return t)))))
  
  (defun force-promise (promise)
    (with-%promise-slots (result lock cvar) promise
      (unless cvar
        (setf cvar (make-condition-variable)))
  