The contravariant members of OpenFuture.
Run the given block (in the foreground) and set this future to its outcome.
When the given future has an outcome, make this future have the same outcome.