functor (Topo : Types.Topology->
  functor (Synchro : Types.Synchronism->
    functor (Auto : Types.Rule->
      sig
        val configuration : Auto.configuration ref
        val tr : Auto.configuration -> int -> Auto.state
        val do_next_step : unit -> unit
        val draw_configuration : Auto.configuration -> int -> unit
        val at_first_measurement : unit -> unit
        val at_last_measurement : unit -> unit
        val do_measurement : time:'-> (int -> unit) * (int -> unit)
        val configuration : int array Pervasives.ref
        val neighbourhoods : int array array
        val length : int
        val complexities : float array
        val draw_cmplx :
          (float -> Graphics.color) -> float array -> int -> unit
        val psi_x : float array
        val psi_y : float array
        val phase : float array
        val at_first_measurement : unit -> unit
        val at_last_measurement : unit -> unit
        val do_measurement : time:'-> (int -> unit) * (int -> unit)
      end