Limit unnecessary stack work

(while still avoiding the release of Zalgo)

http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony