- [ ] Epsilon closure is constantly recomputed instead of cached. - [ ] `std::set` / sorted `std::vector` adds at least a `log n` factor. - [ ] `dfa` and `nfa` only takes edge-lists for their constructors, requiring the list exists in memory.
std::set/ sortedstd::vectoradds at least alog nfactor.dfaandnfaonly takes edge-lists for their constructors, requiring the list exists in memory.