mplate parameter defines
        the transferred parameter type. The constructor of <span class="emphasis"><em>asymmetric_coroutine&lt;&gt;::push_type</em></span>
        takes a function (<span class="emphasis"><em>coroutine-function</em></span>) accepting a reference
        to an <span class="emphasis"><em>asymmetric_coroutine&lt;&gt;::pull_type</em></span> as argument.
        In contrast to <span class="emphasis"><em>asymmetric_coroutine&lt;&gt;::pull_type</em></span>,
        instantiating an <span cl