jeffreykegler: Deep cloning (http://irclog.perlgeek.de/marpa/2015-02-19#i_10139783 ) ... I agree completely. They're never what I want. And copies are expensive. Languages that expose immutable data structures are interesting that way, but the difference is meaningless then.

error building blib/arch/auto/Marpa/R2/R2.so from lib/Marpa/R2.o /home/ron/Downloads/Marpa/Marpa-R2-2.103_008/libmarpa_build/.libs/libmarpa.a at /home/ron/perl5/perlbrew/perls/perl-5.20.2/lib/5.20.2/ExtUtils/CBuilder/Base.pm line 323.

and this is also why the value of arguments collection, is done via an object helper that has a "concatenation" method that depends on both the caller and the target position in the caller's argument collection

Oh... this "opaque" token has a very strange label in the grammar: "ANYTHING" -; anyway, this was the real difficuly - all the rest was spent trying to do something OO that fitted what I think it has to be

Auto-expanding input sounds better to me. Fractals are self-same at any depth, but with parsing you can't have infinitely-nested macros, surely, or you'd never stop expanding them, in which case the code will appear to loop for ever.