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