Well, records are immutable so assignment must go to newly constructed instance, meanwhile new instance does not exist yet so any read must be from old instance.
Seems very intuitive to me (and same as C#).
Seems very intuitive to me (and same as C#).