functor (Elt : sig type t end->   sig     type elt = Elt.t     type t = Elt.t array     val empty : t     val make : int -> elt -> t     val length : t -> int     val get : t -> int -> elt     val set : t -> int -> elt -> unit     val sub : t -> int -> int -> t     val copy : t -> t     val blit : t -> int -> t -> int -> int -> unit     val iter : (elt -> unit) -> t -> unit   end