A Future is an abstract handle to an asynchronous operation that is polled to completion. On completion, futures may return a value representing the result of the operation.
The Future concept describes the future API. All future implementations must satisfy this concept.