// We actually keep Groups as the parser sees them, representing them
// visually as boxed (literally "boxed", like a rectangle of pixels) sequence.
// This has two effects, both of which probably desireable:
// * Groups are represented as a visually bound sequence of (nested) elements.
// * The optimizer does not peek into a group but sees it as a whole.
// This means we never tear apart a group while merging common tails.
// While one might consider this correct-ish, it may prevent a *lot*
// of folding if the macro is very large.
// Maybe add a knob? Maybe this is superficial?