[Author’s Note: This thread is about Javascript, but the principles are not about Javascript. I used
Promises before Javascript had them, and I will use async/await long after. There’s a lot to
cherry-pick here if your language has fibers, or infinite parallelism will lead to immediate
resource exhaustion. It’s just couched in the language I’ve spent the most time in recently.]