let add_set_trans (nfa : nfa)
                  (s1  : state)
                  (cs : charset)
                  (s2  : state) : unit =
  add_state nfa s1;
  add_state nfa s2;
  let cur_set = which_symbols nfa.delta s1 s2 in
  let cur_map = all_delta nfa.delta s1 in
    Hashtbl.replace cur_map s2 (Charset.cup cur_set cs)