IMO, the compiler ought to be smart enough to see ...
# coroutines
r
IMO, the compiler ought to be smart enough to see that the call to "other" is the last call, and thus optimize it the same way as if it was "return other"... pretty much the same rules as for tail recursive optimizations