template<class T>
task class
task<> as defined in p1056, without exception support
This class could be used as return value in coroutines, so that the coroutine could co_await the awaited functions provided in coro::, and return a value T to the caller
Exceptions not supported as this library uses outcome. Use task<result<T>> and CoTry for error handling