It does look awfully like the async/await mess languages with bad concurrency adopted as a crutch for not having good concurrency.
Erlang/Golang model of superlight "threads" exchanging messages appears to be much better at both being actually concurrent and making most code look decent and easy to see what is actually happening.