However, the fix is very conservative: whenever a flattened field is written, all fields of the holder object are invalidated in the ValueMap.
In an ideal situation, the only fields that should be invalidated are the fields corresponding to the nested fields of the flattened field being written. Unfortunately, there's no infrastructure in place to easily identify the set of nested field related to a given flattened field. If such a feature existed, the field invalidation could be much more targeted and would avoid invalidating unrelated fields.