> `async function foo() { const a = await bar();` vs `co(function* foo() { const a = yield bar();` isn't really with adding extra syntax for.
Except in the latter you have to bring your own `co(...)` function. Baking it into the syntax means you don't need that as a library.