Should the following be a property, field or local variable?
I guess we can know if its a field or not. Then if not a field a local variable should be used? So how should we set a property?
We could consider a special syntax for field access...
When navigating arbitrary objects using . we'd use property access.
Plus we'd follow java-like rules
Here 'x' refers to the local variable and this.x refers to the field.
We could support .@ notation to refer to a field in some arbitrary object.
When inside a closure, the same rules should apply as being outside a closure.
One interesting mechanism we could employ from Ruby is the use of a special method to change scope. e.g.
where the passed in closure has access to the internal fields of o.