This looks really promising (so I hope that it moves forward). However, there is something that is missing from this (or even view traits) as apposed to getters/setters (and how they are used in languages like C#) is that with getters/ setters you can define bounds and checks where as with this you cannot.
I think that the ability to return a result from a setter as very cool and succinct.
example:
if (foo.bar = 15)? > 10 { ... }
This would try and assign 15 to the bar
field in foo
and then check to see if it above 10