https://github.com/boomanaiden154 approved this pull request. It looks like the `mutable` objects are essentially caches and marked that way given they are intended to be an internal implementation detail? https://github.com/llvm/llvm-project/pull/141811