sig
  val next_step : ('a array -> int -> 'a) -> 'a array -> 'a array -> unit
end