It champions #TonyHoare's #CSP model of concurrency which takes me back. Back to the time I failed to get funding for a start-up to build an #Occam compiler targeting i386. Which was largely a ploy to get the UK government to buy me some neat kit 🤷♂️
GC isn't a silver bullet either, I should note. It has the rather serious problem that it doesn't free non-memory resources (e.g. file handles) in a timely fashion, so you still need some other mechanism to do so, like Java's try-with-resources.
And although GC isn't necessarily any slower than heap allocation, heap allocation is slow, and most other languages with async box all of their futures. Which, again, is slow. #Rust is one of very few languages with unboxed futures.
Also, although GC isn't necessarily any slower than heap allocation, heap allocation is slow, and most other languages allocate all of their futures on the heap. #Rust is one of very few languages with unboxed futures.
Is that worth the complexity? I dunno. But it should be kept in mind when discussing async Rust, at any rate.
I've put together a little library that tries to focus the user on developing parallel applications in #OCaml - it's still an experimental project but we've started with a few real applications. It's available here: https://github.com/roburio/miou. The library is very straightforward about what you can do with OCaml 5 and #parallelism. At the very least, it may look rudimentary but it leaves plenty of room for the user to do what they want to do - while imposing some good practices.