5. Libraries should have chunky async APIs.
But if you can't achieve that, there's a micro-optimization you can use for async methods based around the fast-path which can reduce or eliminate the heap overhead of async methods. As always, don't micro-optimize prematurely...
Slides, source code and transcript for this video are available here.