It seems like C++ would be simpler if were either just all immutable (like Haskell) or embraced using the full, mutable language for metaprogramming (Jonathan Blow's Jai). Of course that's a horse that left the barn before most of the current barn was even built.
I suppose one could opt-into default-immutable and make it Rust-like. That'd be nice.