sig
  type t
  val create : len:int -> Obj_array.t
  val singleton : Obj.t -> Obj_array.t
  val empty : Obj_array.t
  val length : Obj_array.t -> int
  val get : Obj_array.t -> int -> Obj.t
  val unsafe_get : Obj_array.t -> int -> Obj.t
  val set : Obj_array.t -> int -> Obj.t -> unit
  val unsafe_set : Obj_array.t -> int -> Obj.t -> unit
  val unsafe_set_assuming_currently_int : Obj_array.t -> int -> Obj.t -> unit
  val unsafe_set_int_assuming_currently_int :
    Obj_array.t -> int -> int -> unit
  val sub : Obj_array.t -> pos:int -> len:int -> Obj_array.t
  val blit :
    src:Obj_array.t ->
    src_pos:int -> dst:Obj_array.t -> dst_pos:int -> len:int -> unit
  val unsafe_blit :
    src:Obj_array.t ->
    src_pos:int -> dst:Obj_array.t -> dst_pos:int -> len:int -> unit
  val truncate : Obj_array.t -> len:int -> unit
end