Invariant subtyping in parts of mutable objects