sig   type ('a, 'b, 'c) t = ('a, 'b, 'c) Bigarray.Genarray.t   external create :     ('a, 'b) BatBigarray.kind ->     'c BatBigarray.layout -> int array -> ('a, 'b, 'c) BatBigarray.Genarray.t     = "caml_ba_create"   external num_dims : ('a, 'b, 'c) BatBigarray.Genarray.t -> int     = "caml_ba_num_dims"   val dims : ('a, 'b, 'c) BatBigarray.Genarray.t -> int array   external nth_dim : ('a, 'b, 'c) BatBigarray.Genarray.t -> int -> int     = "caml_ba_dim"   external kind :     ('a, 'b, 'c) BatBigarray.Genarray.t -> ('a, 'b) BatBigarray.kind     = "caml_ba_kind"   external layout :     ('a, 'b, 'c) BatBigarray.Genarray.t -> 'c BatBigarray.layout     = "caml_ba_layout"   val size_in_bytes : ('a, 'b, 'c) BatBigarray.Genarray.t -> int   external get : ('a, 'b, 'c) BatBigarray.Genarray.t -> int array -> 'a     = "caml_ba_get_generic"   external set :     ('a, 'b, 'c) BatBigarray.Genarray.t -> int array -> 'a -> unit     = "caml_ba_set_generic"   external sub_left :     ('a, 'b, BatBigarray.c_layout) BatBigarray.Genarray.t ->     int -> int -> ('a, 'b, BatBigarray.c_layout) BatBigarray.Genarray.t     = "caml_ba_sub"   external sub_right :     ('a, 'b, BatBigarray.fortran_layout) BatBigarray.Genarray.t ->     int -> int -> ('a, 'b, BatBigarray.fortran_layout) BatBigarray.Genarray.t     = "caml_ba_sub"   external slice_left :     ('a, 'b, BatBigarray.c_layout) BatBigarray.Genarray.t ->     int array -> ('a, 'b, BatBigarray.c_layout) BatBigarray.Genarray.t     = "caml_ba_slice"   external slice_right :     ('a, 'b, BatBigarray.fortran_layout) BatBigarray.Genarray.t ->     int array -> ('a, 'b, BatBigarray.fortran_layout) BatBigarray.Genarray.t     = "caml_ba_slice"   external blit :     ('a, 'b, 'c) BatBigarray.Genarray.t ->     ('a, 'b, 'c) BatBigarray.Genarray.t -> unit = "caml_ba_blit"   external fill : ('a, 'b, 'c) BatBigarray.Genarray.t -> 'a -> unit     = "caml_ba_fill"   val map_file :     Unix.file_descr ->     ?pos:int64 ->     ('a, 'b) BatBigarray.kind ->     'c BatBigarray.layout ->     bool -> int array -> ('a, 'b, 'c) BatBigarray.Genarray.t   val iter : ('a -> unit) -> ('a, 'b, 'c) BatBigarray.Genarray.t -> unit   val iteri :     ((int, [ `Read ]) BatArray.Cap.t -> 'a -> unit) ->     ('a, 'b, 'c) BatBigarray.Genarray.t -> unit   val modify : ('a -> 'a) -> ('a, 'b, 'c) BatBigarray.Genarray.t -> unit   val modifyi :     ((int, [ `Read ]) BatArray.Cap.t -> 'a -> 'a) ->     ('a, 'b, 'c) BatBigarray.Genarray.t -> unit   val enum : ('a, 'b, 'c) BatBigarray.Genarray.t -> 'a BatEnum.t   val map :     ('a -> 'b) ->     ('b, 'c) Bigarray.kind ->     ('a, 'd, 'e) BatBigarray.Genarray.t ->     ('b, 'c, 'e) BatBigarray.Genarray.t   val mapi :     ((int, [ `Read ]) BatArray.Cap.t -> 'a -> 'b) ->     ('b, 'c) Bigarray.kind ->     ('a, 'd, 'e) BatBigarray.Genarray.t ->     ('b, 'c, 'e) BatBigarray.Genarray.t end