sig
  val transition_rule : 'a -> int array array -> 'b array -> int -> 'b
  module type Parameters =
    sig val nb_states : int val initializer_prng : Random.State.t end
  module Automaton : functor (Parameters : Parameters) -> Types.Rule
end