This idea is pretty awful, because it works good for:
a @= b; But it doesn't cover the cases where .dup is far more general: T[] l = [ a.dup, b.dup, c ]; Modified by a stretch to macro cloning:T[] l @= [ a, b, c ]; // all 3 of them clone. nuts for every reason you could come up with.
Yet, which "should" only parse properly to:T[] l = [ a, b, c ].dup; // even if expression-scope-auto-cloning was not crazy
