On Monday, 28 January 2013 at 15:05:21 UTC, Maxim Fomin wrote: > It should be rewritten to a.setter(b.setter(c.getter())) That is exactly the problem. "a = b = c" should be rewritten as: b.set(c.get()); a.set(b.get()); // or a.set(c.get()); do not remember C rules