stackful coroutines are not hard to implement