> The specification does need to address that better, in particular what
> then() and catch() might return for subclassed futures. We found use
> cases both for returning a new instance of the subclassed future
> itself (ProgressFuture) and simply returning a new "base" future (for
> the crypto APIs).
>
I think this difficulty points to a deeper issue with attempting to make a
promise something other than a placeholder for a value. Namely: it's no
longer obvious how the information or abilities stored in the promise
itself should propagate through the graph. The featureless-ness of
promises is one of their most important features.
{ Kevin }