I'm not really sure that it's an important concept. Enforcing a complex mutability system feels a lot like obfuscating code while doing a pointless song and dance to work around it because it's not really how things work at a low-level. The current system is only worth it to me because the inherited mutability concept already exists for `&mut` and having it available to catch common errors with local variables has a low cost.

I can almost see the point of having 3 reference types (transitive immutability, internal/external mutability, internal/external/inherited mutability) but I can't understand what we gain from having *four*.