`type 'a t = 'a array`
`val create : int -> 'a -> 'a array`
`val init : int -> (int -> 'a) -> 'a array`
`val get : 'a array -> int -> 'a`
`val set : 'a array -> int -> 'a -> unit`
`val iteri : (int -> 'a -> unit) -> 'a array -> unit`
`val map : ('a -> 'b) -> 'a array -> 'b array`
`val mapi : (int -> 'a -> 'b) -> 'a array -> 'b array`
`val foldi : (int -> 'a -> 'b -> 'b) -> 'a array -> 'b -> 'b`
`val fold : ('a -> 'b -> 'b) -> 'a array -> 'b -> 'b`