sig   val init : int -> f:(int -> 'a) -> ('a, [< `Read | `Write ]) BatArray.Cap.t   val make : int -> init:'-> ('a, [< `Read | `Write ]) BatArray.Cap.t   val create : int -> init:'-> ('a, [< `Read | `Write ]) BatArray.Cap.t   val make_matrix :     dimx:int ->     dimy:int ->     '->     (('a, [< `Read | `Write ]) BatArray.Cap.t, [< `Read | `Write ])     BatArray.Cap.t   val create_matrix :     dimx:int ->     dimy:int ->     '->     (('a, [< `Read | `Write ]) BatArray.Cap.t, [< `Read | `Write ])     BatArray.Cap.t   val sub :     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     pos:int -> len:int -> ('a, [< `Read | `Write ]) BatArray.Cap.t   val fill :     ('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->     pos:int -> len:int -> '-> unit   val blit :     src:('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     src_pos:int ->     dst:('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->     dst_pos:int -> len:int -> unit   val iter :     f:('-> unit) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit   val iteri :     f:(int -> '-> unit) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit   val modify :     f:('-> 'a) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit   val modifyi :     f:(int -> '-> 'a) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit   val fold_left :     f:('-> '-> 'a) ->     init:'-> ('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a   val fold_right :     f:('-> '-> 'a) ->     ('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> init:'-> 'a   val sort :     cmp:('-> '-> int) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit   val stable_sort :     cmp:('-> '-> int) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit   val fast_sort :     cmp:('-> '-> int) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit   val iter2 :     f:('-> '-> unit) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     ('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit   val iter2i :     f:(int -> '-> '-> unit) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     ('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit   val exists :     f:('-> bool) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool   val for_all :     f:('-> bool) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool   val find :     f:('-> bool) -> ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a   val map :     f:('-> 'b) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     ('b, [< `Read | `Write ]) BatArray.Cap.t   val mapi :     f:(int -> '-> 'b) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     ('b, [< `Read | `Write ]) BatArray.Cap.t   val filter :     f:('-> bool) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     ('a, [< `Read | `Write ]) BatArray.Cap.t   val filter_map :     f:('-> 'b option) ->     ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->     ('b, [< `Read | `Write ]) BatArray.Cap.t end