úÎ op      Safe-Inferred-aTwo kinds of future is possible: (i) A pile of failures (Monoid a) and (ii) Successful result b.4Wait until future comes, and modify failure history. "Just wait for the future honestly. Return . when it is time. The history may be modified. (If it is too early, immediately returns . ?mkFuture $ \updateProgress -> forkIO (doSth >>= updateProgress) Run  action immediately.         future-resource-0.4.0.0Control.FutureFuture'Future runFutureProgressFinishedFixmeMakingdesirewaitFor maybeChance getProgressmkFutureexpect $fMonadFuture$fAlternativeFuture$fApplicativeFuture$fFunctorFuturebase Data.MaybeJust