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