The idea is you shouldn't be modifying someObject.someField.someDict in the first place since you don't own the dict, someField does.
Also, weirdly, that isn't something the language forbids. It doesn't even make it possible for library writers to prevent it.
I still think we will see some language changes before the official release here in this area because naive users will run into too many weird issues with the current behavior.
For example, if the goal is to have normal function arguments immutable, I think it would be more natural to forbid functions from calling mutating methods on their arguments, unless they are specified as inout.
On the other hand, good compiler warnings might be enough for preventing programmers from accidentally copying containers.