[wip] Replace returns with yield or exit
[coro] Add `YIELD_ON()` as it seems useful
[wip] Use `YIELD_ON()`, but the `read_string()` is getting messy it currently will not compile