add cartesian product map substitution problem
add non-digraph nfa regular expression implementation

smart cookies use digraphs but looking at i +/- 1 is sufficient when
the only metachar is '*'