Is it though.

There are so many situations where something is guaranteed to be safe but there is no way to express that in the Rust typesystem, so the only thing you can do is to wrap everything in Arcs and Mutexes, which introduces allocations, pointerchasing and locks

Hard to imagine a scenario where you don’t need a mutex for correctness and yet somehow Rust forces you to do it?

Unless maybe you mean tokio’s work stealing executor, but you can just not use it.

Just use unsafe then