functor (X : sig type t end) ->
sig
module Array :
sig
type elt = X.t
type t = X.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
type t
exception Empty
val create : ?bounded:bool -> int -> t
val copy : t -> t
val capacity : t -> int
val max_capacity : t -> int option
val length : t -> int
val blit_from : t -> Array.t -> int -> int -> unit
val blit_into : t -> Array.t -> int -> int -> int
val append : t -> into:t -> unit
val to_list : t -> Array.elt list
val clear : t -> unit
val reset : t -> unit
val is_empty : t -> bool
val junk_front : t -> unit
val junk_back : t -> unit
val skip : t -> int -> unit
val iter : t -> f:(Array.elt -> unit) -> unit
val iteri : t -> f:(int -> Array.elt -> unit) -> unit
val get_front : t -> int -> Array.elt
val get_back : t -> int -> Array.elt
val push_back : t -> Array.elt -> unit
val peek_front : t -> Array.elt
val peek_back : t -> Array.elt
val take_back : t -> Array.elt option
val take_back_exn : t -> Array.elt
val take_front : t -> Array.elt option
val take_front_exn : t -> Array.elt
val of_array : Array.t -> t
val to_array : t -> Array.t
end