Yeah I'm willing to muck up the internals instead of inventing some elaborate abstraction that will only be used by coroutines. If we ever need to generalize we can, but I don't want to jump that gun.