Same semantics as 'a Array.t, except it's guaranteed that the representation array
is not tagged with Double_array_tag, the tag for float arrays.
This means it's safer to use in the presence of Obj.magic, but it's slower than
normal Array if you use it with floats.
It can often be faster than Array if you use it with non-floats.
Also see Base.Obj_array for the same implementation, but specialized to holding
Obj.t rather than being polymorphic.
val empty : _ tval create : len:int ‑> 'a ‑> 'a tval init : int ‑> f:(int ‑> 'a) ‑> 'a tval length : 'a t ‑> intval get : 'a t ‑> int ‑> 'aval unsafe_get : 'a t ‑> int ‑> 'aval set : 'a t ‑> int ‑> 'a ‑> unitval unsafe_set : 'a t ‑> int ‑> 'a ‑> unitval iter : 'a t ‑> f:('a ‑> unit) ‑> unitval of_array : 'a array ‑> 'a tof_array and to_array return fresh arrays with the same contents rather than
returning a reference to the underlying array.
val to_array : 'a t ‑> 'a arrayval of_list : 'a list ‑> 'a tval to_list : 'a t ‑> 'a listinclude Blit.S1 with type a t := a tval blit : ('a t, 'a t) Base__.Blit_intf.blitval blito : ('a t, 'a t) Base__.Blit_intf.blitoval unsafe_blit : ('a t, 'a t) Base__.Blit_intf.blitval sub : ('a t, 'a t) Base__.Blit_intf.subval subo : ('a t, 'a t) Base__.Blit_intf.subo