sig
  val generic :
    ('s, 's Common.set, 'v, 'k, 'o) Automata.snfa ->
    ('s Common.set, 'v, 'k, 'o) Automata.sdfa
  val optimised :
    (int, Common.int_set, 'v, 'k, 'o) Automata.snfa ->
    (Common.int_set, 'v, 'k, 'o) Automata.sdfa
end