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