Extract a HMRCombinator class.
HMRTerminal subclasses HMRCombinator.
Defer terminal responsibilities to HMRCombinator.
HMRNonterminal subclasses HMRCombinator.
Construct HMRCombinator.
Move -withName: exclusively into HMRCombinator.
Idiomatic DSL for nonterminal construction.
Delegate more responsibilities to HMRCombinator.
Remove hash from the combinator protocol.
Delayed combinators can be constructed safely.
Publish nonterminal headers.
Publish lots of headers.
Specific types.
No more HMRCombinator protocol.
Even more specific types.
No more HMRAnd.
HMROr is no more.
No more HMRRepeat.
No more HMRMap.
Variadic alternation.