Earlier quoted context omitted.
I am a bit lost as to why cycles are handled the way they are. Part of the problem, is cycles seem to crash chrome's developer tools. If you put =A1 in A1, and =A2 in A2, it crashes the web inspector for me. I am lost as to why putting =A1 in A1 doesn't cause an infinite loop. Why doesn't eval (DATA.A1) not trigger the getter and hence an infinite loop?
The getter impl should prevent this. Firefox, for instance, throws an exception...
Firefox does a similar thing, by throwing a "too much recursion" error.