sig
  module type Boolean_Parameters =
    sig val init_density : float val initializer_prng : Random.State.t end
  module Boolean_state :
    functor (Params : Boolean_Parameters->
      sig
        type state = bool
        type configuration = Rule.Templates.Boolean_state.state array
        val initialize : int -> bool array
        val color_of_state : bool -> Graphics.color
        val states : bool array
      end
  module type Integer_Parameters =
    sig val nb_states : int val initializer_prng : Random.State.t end
  module Integer_state :
    functor (Params : Integer_Parameters->
      sig
        type state = int
        type configuration = Rule.Templates.Integer_state.state array
        val initialize : int -> int array
        val color_of_state : int -> Graphics.color
        val states : int array
      end
end