I wonder why Promise.all is not a language construct but a regular method call bringing Promise object out of nowhere.<p>It would've been easier if await just accepted arrays just like how generators in co could use yield on arrays to wait on them all.<p>Also when do you need to use Promise.race?