sig val next_step : Random.State.t -> float -> ('a array -> int -> 'a) -> 'a array -> 'a array -> unit end