a b)
runEpsilonNFA enfa is = foldM updateEpsilonNFA enfa is

accept :: (Eq a) => EpsilonNFA a b -> [b] -> Bool
accept enfa is = accept' r
runEpsilonNFA :: (Eq a) => EpsilonNFA a b -> [D.Input b] -> Maybe (EpsilonNFA a b)
runEpsilonNFA enfa is = foldM updateEpsilonNFA enfa is
runEpsilonNFA enfa is = foldM updateEpsilonNFA enfa is