Add compaction back in.
Compact alternation in -compact.
Compact concatenation in -compact.
Compact reduction in -compact.
Compact repetition in -compact.
Tidy concatenation compaction.

BUT AT WHAT COST?
Merge pull request #38 from robrix/compaction-again

Compaction again