Yes, but that stuff is hard and error prone.
Immutability is easier (safer, more correct) on the whole. I think both Rust and Clojure take a good stance on mutation.
Only for anecdotal evidence, my ad-hoc immutable (lots of copying) ETLs performed better than the mutation happy ones. The GC was able to throw stuff away faster, the code was cleaner, kept only what it needed. The gaussian circle of confusion was smaller.