trio and stdlib has different primitives for sleeping/locking/garhering/etc. And you can't change loop implementation by simple ioloop_of_this_year.run(async_main) in the main().
There is still no explanation for what "mess" means, but I don't think it means having multiple competitors providing an implementation.
The fact that there are multiple async Python libraries means that the internals are generic enough to allow that. From what I understand of Rust, there could be another "tokio" as well. And they would not necessarily be compatible either.
This is like saying "You can't use a Django model with SQLAlchemy".