1* Remove the `empty` constructors for DFAs and replace them with
2  `never_match` and `always_match` constructors.
3* Consider refactoring the NFA representation such that it can be instantly
4  loaded from a `&[u8]`, just like a sparse DFA. Main downside is that this
5  could negatively impact using the NFA with deserialization costs. Before
6  doing this, we should write PikeVM and backtracking implementations so that
7  they can be benchmarked.
8* Add captures and anchors to NFA.
9* Once we're happy, re-organize the public API such that NFAs are exported
10  and usable on their own.
11