Patrick R. Michaud wrote:
It's also a little unique that the "take/yield" can happen from called subs deep within the coroutine, and doesn't have to occur within the coroutine itself.
That's a general characteristic of all the control exceptions: they can be caught by any outer dynamic scope, not just the immediate surrounding dynamic scope.
Allison