The wrapping of mutable fields is performed in several places in the codebase. Whilst we absolutely need to wrap any field before handing it to the user (when managed by a StateManager), if we are simply querying for objects and loading fields we don't necessarily need to wrap them at that point since the field may not be accessed before detaching for example.
Consider other use-cases and only wrap fields when required.