Ity: another revision of eff_assign
in this version, we reconstruct and scan the mutable fields of all regions that occur in an assignment, independently on whether the region is modified. This avoids a bug in the previous version where the "left" and "right" subregion lists could have different length. This also avoids a bug in the version before that, where an upper region could have a shorter subregion list than one of its subregions. It is possible to fix those issues in a more efficient manner, but this seems to make code quite more complex for a non-existent practical gain.