Currently a recursion to another coroutine (say for DFS tree traversal) will cause each top-level resume to call resume and recurse to all instance to the deepest level. Instead the generator may be recursion aware and keep a free list of coroutine handles, only resuming the top one.