anchor.diff:  (defpackage "PARALLEL"
     (:use)
     (:export "PROMISE" "PROMISE-VALUE" "LET"
  -           "FUTURE" "FUTURE-VALUE" "BIND"
  +           "FUTURE" "FUTURE-VALUE" "FUTURE-VALUE*" "BIND"
  +           "STREAM" "HEAD" "TAIL" "UNFOLD" "SCAN" "SCAN*" "FOREACH" "FOLD"
              "DOTIMES" "MAP" "REDUCE"
              "MAP-GROUP-REDUCE"))
   
  
positive.code:                                   parallel-future:*context*))
      future))
  
  (defun future-value (future)
    (declare (type future future))
    (when (work-queue:worker-id)
      (work-queue:progress-until (lambda ()
                                   (eql (future:status future) :done))))
    (future:wait future :done)
    (values-list (future-%values future)))
  
  (defmacro parallel:bind ((&rest bindings)
                           &body body)
  
negative.code:                                 collect `(promise-value ,temp))))
             (,function ,@values)))))
  
  (defstruct (parallel:future
              (:include parallel-future:future))
    %values)
  
  