Add a predicate matcher.
Add Any matcher.
Make alts, all & then trivially variadic.
Add Criterium.
Start to demonstrate re equivalence.
Make equivalence of either/both associative.
Add the annihilation equivalence rules.
Add the identity equivalence rules for either/both.
Make kleene idempotent.
Annihilation rules for then.
Identity rules for then.
Kleene of epsilon is epsilon.
Kleene of nothing can match only the empty string.
Double inverted items is the identity.
Add a commented out test for equivalence over associative Thens.