Excellent, thank you!I think I understand how it works, but one thing puzzles me: how does the queue in the jump() function ever get longer than one element? Is it because it might contain a recursive call, which is activated by the unpause()?This was actually a really insightful review - after thinking about it for a moment, I realized that the actual trampoline was already in twisted.internet.defer._inlineCallbacks, and this function was totally useless complexity! Thank you!