The writer is not wrong about the awful ergonomics of having to deal with async. Project Loom took a long time to land but it really demonstrates how to do this kind of thing right.
post
This looks like the author wants Go's concurrency framework (i.e. green threads), with Rust's mutex system. I think that would be awesome!
My main concern is that it would require a massive reworking of Python's internals to provide concurrency-friendly IO. The author mentioned the example of OS files, but there are plenty of others, especially with third party libraries using native extensions.
Yeah, a more modern take on mutexes (as boxes for values) and support for structured concurrency would be fabulous. Those are somewhat orthogonal to the goal of being able to write straight-line code without function colouring. Long ago, eventlet provided something like this [although it had smoe subtle and deep bugs that took a long time to track down].
Potentially, a major stumbling-block would be providing machinery so that interleaved FFI & python calls can cooperate (if that's determined as being in-scope, which it ultimately should be).
all 4 comments