Module Immutable_array

type 'a t
val length : 'a t -> int
val get : 'a t -> int -> 'a
val init : int -> (int -> 'a) -> 'a t
val empty : 'a t
type sformat = (unit, Stdlib.Format.formatter, unit) Stdlib.format
type 'a formatter = Stdlib.Format.formatter -> 'a -> unit
val pp_array : ?pre:sformat -> ?sep:sformat -> ?suf:sformat -> 'a formatter -> 'a t formatter
val iter : ('a -> unit) -> 'a t -> unit
val iter2 : ('a -> 'b -> unit) -> 'a t -> 'b t -> unit
val iter3 : ('a -> 'b -> 'c -> unit) -> 'a t -> 'b t -> 'c t -> unit
val iteri : (int -> 'a -> unit) -> 'a t -> unit
val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t
val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
val fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b t -> 'c t -> 'a
val map : ('a -> 'b) -> 'a t -> 'b t
val to_list : 'a t -> 'a list
val of_list : 'a list -> 'a t