Compact unchanged alternations to self.
Compact unchanged concatenations to self.
Compact unchanged reductions to self.
Compact unchanged repetitions to self.
Merge pull request #55 from robrix/nonallocating-compaction

Nonallocating compaction