sig
  type 'a t
  val make : '-> 'InfiniteArray.t
  val get : 'InfiniteArray.t -> int -> 'a
  val set : 'InfiniteArray.t -> int -> '-> unit
  val iteri : (int -> '-> unit) -> 'InfiniteArray.t -> unit
end