An extensible Syntax for effects like e.g. async-await

I totally agree with this.

I'm also not sure why an extensible do -notation has not been considered, similar to what Haskell, PureScript and Idris have already proved to be a practical approach. It doesn't require an introduction of new keywords, only an extension to the type system, namely higher-kinded types (HKT) to be able to express protocol Monad. I'm still convinced that HKT would be useful in its own right, while one could then build the extensible do-notation on top of that for any type that conforms to the Monad protocol.

5 Likes