Module Automata

module SDFA : sig ... end
type (!'s, !'v, !'k, !'o) sdfa = ('s'v'k'o) SDFA.t
module SNFA : sig ... end
type (!'s, !'t, !'v, !'k, !'o) snfa = ('s't'v'k'o) SNFA.t
module SENFA : sig ... end
type !'v senfa = 'v SENFA.t