The return type of an initiating function is typename async_result<decay_t<CompletionToken>, Signature>::return_type.
For the sake of exposition, this document sometimes annotates functions with a return type DEDUCED. For every function declaration that returns DEDUCED, the meaning is equivalent to specifying the return type as typename async_result<decay_t<CompletionToken>, Signature>::return_type.