The fact that the generated javascript doesn&#x27;t look as neat is a pretty poor argument. Does the author avoid other language features that get &quot;lowered&quot; (<a href="http:&#x2F;&#x2F;ericlippert.com&#x2F;2014&#x2F;04&#x2F;28&#x2F;lowering-in-language-design-part-one&#x2F;" rel="nofollow">http:&#x2F;&#x2F;ericlippert.com&#x2F;2014&#x2F;04&#x2F;28&#x2F;lowering-in-language-desig...</a>) into less elegant code as part of the execution?<p>In time, we&#x27;ll not see this code as it&#x27;ll all happen within the javascript engines, but all features of javascript are still abstractions over lower level code.<p>How about writing a loop over asynchronous functions? Now that is unpleasant to look at, and most examples I&#x27;ve seen use recursion which is pretty limiting.<p>That is one of the best reasons to embrace async&#x2F;await