This is the first patch in the coroutine series. It contains the documentation for the coroutine intrinsics and their usage.
Upstreaming sequence (rough plan)
#. Add documentation. <= we are here
#. Add coroutine intrinsics.
#. Add empty coroutine passes.
#. Add coroutine devirtualization + tests.
#. Add CGSCC restart trigger + tests.
#. Add coroutine heap elision + tests.
#. Add the rest of the logic (split into more patches)