sig
  type ('s, 'v, 'k, 'o) t = {
    m : ('s, 'k) Bdd.mem;
    t : '-> ('v, ('s, 'k) Bdd.node) Common.span;
    o : '-> 'o;
    output_check : '-> '-> bool;
    state_info : 'Common.formatter;
  }
  val trace :
    ?exclude:'->
    'Common.formatter ->
    'Common.formatter ->
    'Common.formatter -> ('s, 'v, 'k, 'o) Automata.SDFA.t -> '-> unit
  val size : ('s, 'a, 'b, 'c) Automata.SDFA.t -> 's list -> int * int
  val generic_output_check : ('-> 'o) -> '-> '-> bool
end