let is_empty (nfa : nfa) : bool = 
  try
    forward_fold_nfa (fun n acc -> 
                        if (n = nfa.f) then raise Found_it else acc
                     ) nfa nfa.s true
  with Found_it -> false