 possible, because the return address would be on top of stack
      entries.
    </p>
<p>
      The solution is that each coroutine has its own stack and control-block (<span class="emphasis"><em>boost::contexts::fcontext_t</em></span>
      from <span class="bold"><strong>Boost.Context</strong></span>). Before the coroutine
      gets suspended, the non-volatile registers (including stack and instruction/program
      pointer) of the currently active coroutine are stored in the coroutine's control-block.
