#### co_spawn (2 of 2 overloads)

Spawn a new thread of execution.

    template<
        typename ExecutionContext,
        typename F,
        typename CompletionToken = DEFAULT>
    DEDUCED co_spawn(
        ExecutionContext & ctx,
        F && f,
        CompletionToken && token = DEFAULT,
        typename enable_if< is_convertible< ExecutionContext &, execution_context & >::value >::type *  = 0);

The entry point function object `f` must have the signature:

    awaitable<void, E> f();

where `E` is convertible from `ExecutionContext::executor_type`.