You can go so far with simple data in Rust that it's kinda surprising when you start learning about interior mutability: https://doc.rust-lang.org/std/cell/index.html
If you give a function a value of &T, they can actually mutate any cells within it. It's not sufficient to look for &mut T usages.