Collection of I/O-free, resumable and composable process state machines.
Coroutines emit I/O requests that need to be processed by runtimes in order to continue their progression.