* Unclean shutdowns
  - When the Core drops we need to get rid of all the waiting stacks and
    everything on them somehow.
  - Using panic to unwind the waiting coroutine might work, but might be
    problematic in certain situations. Dropping just the stack doesn't seem
    good either.
* documentation, etc
* Examples
* External tests
* Cache the stacks, as they are probably expensive to create (they call mmap
  and manipulating the memory mappings flushes the whole TLB).
* Pass the instructions through the usize (ugly, but probably better than the TLS).
* Think about some thread support ‒ do we want some? How would it integrate in the API?
* Look at the unwind safety and unwinding in general.
* Try to get rid of so many 'static bounds everywhere ‒ like when awaiting.
* Something like select
* Wait for future with timeout?
* Document why the unsafe blocks are in fact safe
* Build fails on half of appveyor ‒ seems like some issue with compiler, look if it can be made work
