yield_context does not depend on coroutines anymore
replace yield_context_2 with yield_context