type ('n, 'a) t = private 'a arraytype 'a _array = | A : ('n, 'a) t -> 'a _array
val length : ('n, 'a) t -> 'n setval get : ('n, 'a) t -> 'n elt -> 'aval set : ('n, 'a) t -> 'n elt -> 'a -> unitval make : 'n set -> 'a -> ('n, 'a) tval init : 'n set -> ('n elt -> 'a) -> ('n, 'a) tval make_matrix : 'i set -> 'j set -> 'a -> ('i, ('j, 'a) t) tval of_array : 'a array -> 'a _arraymodule type T = sig ... endval module_of_array : 'a array -> (module T with type a = 'a)val to_array : ('n, 'a) t -> 'a arrayval all_elements : 'n set -> ('n, 'n elt) tval iter : ('a -> unit) -> (_, 'a) t -> unitval iteri : ('n elt -> 'a -> unit) -> ('n, 'a) t -> unitval rev_iter : ('a -> unit) -> (_, 'a) t -> unitval rev_iteri : ('n elt -> 'a -> unit) -> ('n, 'a) t -> unitval map : ('a -> 'b) -> ('n, 'a) t -> ('n, 'b) tval mapi : ('n elt -> 'a -> 'b) -> ('n, 'a) t -> ('n, 'b) tval fold_left : ('a -> 'b -> 'a) -> 'a -> ('n, 'b) t -> 'aval fold_right : ('b -> 'a -> 'a) -> ('n, 'b) t -> 'a -> 'aval iter2 : ('a -> 'b -> unit) -> ('n, 'a) t -> ('n, 'b) t -> unitval map2 : ('a -> 'b -> 'c) -> ('n, 'a) t -> ('n, 'b) t -> ('n, 'c) tval copy : ('n, 'a) t -> ('n, 'a) t