Release lazy combinators’ blocks when forced.
Use constructors for alternation derivatives.
Add a HMRNone constructor for the empty parser.
Compact alternation in the constructor.
Compact repetition in the constructor.
Compact concatenation in the constructor.
Compact reduction in the constructor.
Remove -compact and -compaction.
Remove the repetition factory method.
Remove the reduction factory method.
Remove the null singleton.
Remove the null factory method.
Prettier logging of null parses.
Remove the lazy factory method.
Remove the empty factory method.

It’s still a singleton via HMRNone().
Remove the literal factory method.
Remove the concatenation factory method.
Remove the alternation factory method.
Rename more “parser” references to “combinator.”
Provide & use a shortcut through laziness/proxies.

This is called compaction, but is more appropriately a non-forcing way
to return an alternative instance (e.g. a pre-forced lazily-computed
value).