functor (Topo : Types.Topology->
  functor (Synchro : Types.Synchronism->
    functor (Auto : Types.Rule->
      sig
        val pof_depth : int
        val past_configurations : Auto.state array array
        val pof_configurations : Auto.state array array
        val tr : Auto.configuration -> int -> Auto.state
        val do_next_step : unit -> unit
        val discard_cell : int -> bool
        val draw_cmplx : (int -> Graphics.color) -> int array -> int -> unit
        val causal_states :
          Auto.state array array ->
          Auto.state array array -> int array * int array
        val total_occurences : float
        val at_first_measurement : unit -> unit
        val at_last_measurement : unit -> unit
        val do_measurement : time:'-> (int -> unit) * (int -> unit)
      end