The way I view it as a Rust experienced programmer: Its kinda like if everything in your program was Arc<dyn Trait> and we didnt have the mess that are the async executors. But I might be wrong. Love rust but god that sometimes I curse the choices that were made and how slow it evolves.
I don't have a lot of experience with Rust, but that sounds about right.
And supposedly, the compiler transforms the Arc in Rc or even removes it entirely if it can prove to be fine. I still did not check if there is a tool that tells you what was optimized and the reason why something wasn't.