LYR-MIG0301
a written field became 'var'
A note of lyric fix --from-4: a field of the program's own type is written, so the migration declares it var.
Explanation
A field without a modifier could be written in Lyric 4; Lyric 5 writes a field only where it is declared var. The migration declares var every field that is written — by =, a compound assignment, ++ or --, or a mut fn called on it — and each struct field the write reaches through: l.to.y += 5 writes to as well, because a struct is a value.
Where a field is written only while the value is built, it may rather stay without var: build a new value instead of changing the old one.
Example
proposal[LYR-MIG0301] main.lyr:4:5: the field 'x' is written (line 23); Lyric 5 writes a field only where it is declared 'var' — where only the value's construction should set it, leave out the 'var' and build a new value