functor (E : DefaultValType->
  sig
    type t = OfArrayGap(MakeArray(E))(E).t
    type elt = E.t
    val make : ?size:int -> unit -> t
    val set : t -> int -> elt -> unit
    val get : t -> int -> elt
    val clear : t -> unit
    val index_max : t -> int
    val length : t -> int
    val capacity : t -> int
    val blit : t -> int -> t -> int -> int -> unit
    val default : unit -> elt
  end