Printing sub expressions gives strange results. For example the production:

@composition->print(3-1);

print "3-1"!

For now I don't know why, but you can avoid this strange effect writing the previous production in this way:

@composition->print((3-1));

This works and print the correct result 2.

Another related problem appears parsing sub expressions in note parameters. for example:

@composition->A[4-2,,,];

You can avoid this problem writing:

@composition->[(4-2),,,];