sig   type 'a t = 'a array   type 'a enumerable = 'a t   type 'a mappable = 'a t   external length : 'a array -> int = "%array_length"   external get : 'a array -> int -> 'a = "%array_safe_get"   external set : 'a array -> int -> '-> unit = "%array_safe_set"   external make : int -> '-> 'a array = "caml_make_vect"   external create_float : int -> float array = "caml_make_float_vect"   val make_float : int -> float array   external create : int -> '-> 'a array = "caml_make_vect"   val init : int -> (int -> 'a) -> 'a array   val make_matrix : int -> int -> '-> 'a array array   val create_matrix : int -> int -> '-> 'a array array   val append : 'a array -> 'a array -> 'a array   val concat : 'a array list -> 'a array   val sub : 'a array -> int -> int -> 'a array   val copy : 'a array -> 'a array   val fill : 'a array -> int -> int -> '-> unit   val blit : 'a array -> int -> 'a array -> int -> int -> unit   val to_list : 'a array -> 'a list   val of_list : 'a list -> 'a array   val max : 'a array -> 'a   val min : 'a array -> 'a   val sum : int array -> int   val fsum : float array -> float   val kahan_sum : float array -> float   val avg : int array -> float   val favg : float array -> float   val left : 'a array -> int -> 'a array   val right : 'a array -> int -> 'a array   val head : 'a array -> int -> 'a array   val tail : 'a array -> int -> 'a array   val iter : ('-> unit) -> 'a array -> unit   val map : ('-> 'b) -> 'a array -> 'b array   val iteri : (int -> '-> unit) -> 'a array -> unit   val mapi : (int -> '-> 'b) -> 'a array -> 'b array   val fold_left : ('-> '-> 'a) -> '-> 'b array -> 'a   val fold_right : ('-> '-> 'a) -> 'b array -> '-> 'a   val modify : ('-> 'a) -> 'a array -> unit   val modifyi : (int -> '-> 'a) -> 'a array -> unit   val fold_lefti : ('-> int -> '-> 'a) -> '-> 'b array -> 'a   val fold_righti : (int -> '-> '-> 'a) -> 'b array -> '-> 'a   val reduce : ('-> '-> 'a) -> 'a array -> 'a   val singleton : '-> 'a array   val sort : ('-> '-> int) -> 'a array -> unit   val stable_sort : ('-> '-> int) -> 'a array -> unit   val fast_sort : ('-> '-> int) -> 'a array -> unit   val decorate_stable_sort : ('-> 'b) -> 'a array -> 'a array   val decorate_fast_sort : ('-> 'b) -> 'a array -> 'a array   val bsearch :     'BatOrd.ord ->     'a array ->     '->     [ `All_bigger | `All_lower | `At of int | `Empty | `Just_after of int ]   val iter2 : ('-> '-> unit) -> 'a array -> 'b array -> unit   val iter2i : (int -> '-> '-> unit) -> 'a array -> 'b array -> unit   val for_all2 : ('-> '-> bool) -> 'a array -> 'b array -> bool   val exists2 : ('-> '-> bool) -> 'a array -> 'b array -> bool   val map2 : ('-> '-> 'c) -> 'a array -> 'b array -> 'c array   val cartesian_product : 'a array -> 'b array -> ('a * 'b) array   val for_all : ('-> bool) -> 'a array -> bool   val exists : ('-> bool) -> 'a array -> bool   val mem : '-> 'a array -> bool   val memq : '-> 'a array -> bool   val filter : ('-> bool) -> 'a array -> 'a array   val filteri : (int -> '-> bool) -> 'a array -> 'a array   val filter_map : ('-> 'b option) -> 'a array -> 'b array   val find_all : ('-> bool) -> 'a array -> 'a array   val partition : ('-> bool) -> 'a array -> 'a array * 'a array   val rev : 'a array -> 'a array   val rev_in_place : 'a array -> unit   val enum : 'a array -> 'BatEnum.t   val of_enum : 'BatEnum.t -> 'a array   val backwards : 'a array -> 'BatEnum.t   val of_backwards : 'BatEnum.t -> 'a array   val range : 'a array -> int BatEnum.t   val insert : 'a array -> '-> int -> 'a array   val print :     ?first:string ->     ?last:string ->     ?sep:string -> ('a, 'b) BatIO.printer -> ('a t, 'b) BatIO.printer   val compare : 'BatOrd.comp -> 'a array BatOrd.comp   val ord : 'BatOrd.ord -> 'a array BatOrd.ord   val equal : 'BatOrd.eq -> 'a array BatOrd.eq   module Exceptionless :     sig       val find : ('-> bool) -> 'a t -> 'a option       val findi : ('-> bool) -> 'a t -> int option     end   module Incubator :     sig       module Eq :         functor (T : BatOrd.Eq->           sig type t = T.t array val eq : T.t array BatOrd.eq end       module Ord :         functor (T : BatOrd.Ord->           sig type t = T.t array val ord : T.t array BatOrd.ord end     end   val is_sorted_by : ('-> 'b) -> 'a array -> bool   external unsafe_get : 'a array -> int -> 'a = "%array_unsafe_get"   external unsafe_set : 'a array -> int -> '-> unit = "%array_unsafe_set"   val find : ('-> bool) -> 'BatArray.t -> 'a option   val findi : ('-> bool) -> 'BatArray.t -> int option   module Labels :     sig       val init : int -> f:(int -> 'a) -> 'a array       val create : int -> init:'-> 'a array       val make_matrix : dimx:int -> dimy:int -> '-> 'a array array       val create_matrix : dimx:int -> dimy:int -> '-> 'a array array       val sub : 'a array -> pos:int -> len:int -> 'a array       val fill : 'a array -> pos:int -> len:int -> '-> unit       val blit :         src:'a array ->         src_pos:int -> dst:'a array -> dst_pos:int -> len:int -> unit       val iter : f:('-> unit) -> 'a array -> unit       val iteri : f:(int -> '-> unit) -> 'a array -> unit       val modify : f:('-> 'a) -> 'a array -> unit       val modifyi : f:(int -> '-> 'a) -> 'a array -> unit       val fold_left : f:('-> '-> 'a) -> init:'-> 'b array -> 'a       val fold_right : f:('-> '-> 'a) -> 'b array -> init:'-> 'a       val sort : cmp:('-> '-> int) -> 'a array -> unit       val stable_sort : cmp:('-> '-> int) -> 'a array -> unit       val fast_sort : cmp:('-> '-> int) -> 'a array -> unit       val iter2 :         f:('-> '-> unit) -> 'BatArray.t -> 'BatArray.t -> unit       val exists : f:('-> bool) -> 'BatArray.t -> bool       val for_all : f:('-> bool) -> 'BatArray.t -> bool       val iter2i :         f:(int -> '-> '-> unit) -> 'BatArray.t -> 'BatArray.t -> unit       val map : f:('-> 'b) -> 'BatArray.t -> 'BatArray.t       val mapi : f:(int -> '-> 'b) -> 'BatArray.t -> 'BatArray.t       val filter : f:('-> bool) -> 'BatArray.t -> 'BatArray.t       val filter_map : f:('-> 'b option) -> 'BatArray.t -> 'BatArray.t       module LExceptionless = BatArray.Labels.LExceptionless       val find : f:('-> bool) -> 'BatArray.t -> 'a option       val findi : f:('-> bool) -> 'BatArray.t -> int option     end   module Cap :     sig       type ('a, 'b) t = ('a, 'b) BatArray.Cap.t         constraint 'b = [< `Read | `Write ]       external length : ('a, [< `Read | `Write ]) t -> int = "%array_length"       external get : ('a, [< `Read | `Write > `Read ]) t -> int -> 'a         = "%array_safe_get"       external set :         ('a, [< `Read | `Write > `Write ]) t -> int -> '-> unit         = "%array_safe_set"       external make : int -> '-> ('a, [< `Read | `Write ]) t         = "caml_make_vect"       external create : int -> '-> ('a, [< `Read | `Write ]) t         = "caml_make_vect"       external make_float : int -> (float, [< `Read | `Write ]) t         = "caml_make_float_vect"       external of_array : 'a array -> ('a, [< `Read | `Write ]) t         = "%identity"       external to_array : ('a, [ `Read | `Write ]) t -> 'a array         = "%identity"       external read_only :         ('a, [< `Read | `Write > `Read ]) t -> ('a, [ `Read ]) t         = "%identity"       external write_only :         ('a, [< `Read | `Write > `Write ]) t -> ('a, [ `Write ]) t         = "%identity"       val init : int -> (int -> 'a) -> ('a, [< `Read | `Write ]) t       val make_matrix :         int ->         int -> '-> (('a, [< `Read | `Write ]) t, [< `Read | `Write ]) t       val create_matrix :         int ->         int -> '-> (('a, [< `Read | `Write ]) t, [< `Read | `Write ]) t       val iter : ('-> unit) -> ('a, [< `Read | `Write > `Read ]) t -> unit       val map :         ('-> 'b) ->         ('a, [< `Read | `Write > `Read ]) t -> ('b, [< `Read | `Write ]) t       val iteri :         (int -> '-> unit) -> ('a, [< `Read | `Write > `Read ]) t -> unit       val mapi :         (int -> '-> 'b) ->         ('a, [< `Read | `Write > `Read ]) t -> ('b, [< `Read | `Write ]) t       val modify : ('-> 'a) -> ('a, [ `Read | `Write ]) t -> unit       val modifyi : (int -> '-> 'a) -> ('a, [ `Read | `Write ]) t -> unit       val fold_left :         ('-> '-> 'a) -> '-> ('b, [< `Read | `Write > `Read ]) t -> 'a       val fold_right :         ('-> '-> 'a) -> ('b, [< `Read | `Write > `Read ]) t -> '-> 'a       val iter2 :         ('-> '-> unit) ->         ('a, [< `Read | `Write > `Read ]) t ->         ('b, [< `Read | `Write > `Read ]) t -> unit       val iter2i :         (int -> '-> '-> unit) ->         ('a, [< `Read | `Write > `Read ]) t ->         ('b, [< `Read | `Write > `Read ]) t -> unit       val for_all :         ('-> bool) -> ('a, [< `Read | `Write > `Read ]) t -> bool       val exists :         ('-> bool) -> ('a, [< `Read | `Write > `Read ]) t -> bool       val mem : '-> ('a, [< `Read | `Write > `Read ]) t -> bool       val memq : '-> ('a, [< `Read | `Write > `Read ]) t -> bool       val filter :         ('-> bool) ->         ('a, [< `Read | `Write > `Read ]) t -> ('a, [< `Read | `Write ]) t       val filter_map :         ('-> 'b option) ->         ('a, [< `Read | `Write > `Read ]) t -> ('b, [< `Read | `Write ]) t       val find_all :         ('-> bool) ->         ('a, [< `Read | `Write > `Read ]) t -> ('a, [< `Read | `Write ]) t       val partition :         ('-> bool) ->         ('a, [< `Read | `Write > `Read ]) t ->         ('a, [< `Read | `Write ]) t * ('a, [< `Read | `Write ]) t       val rev :         ('a, [< `Read | `Write > `Read ]) t -> ('a, [< `Read | `Write ]) t       val rev_in_place : ('a, [ `Read | `Write ]) t -> unit       val append :         ('a, [< `Read | `Write > `Read ]) t ->         ('a, [< `Read | `Write > `Read ]) t -> ('a, [< `Read | `Write ]) t       val concat :         ('a, [< `Read | `Write > `Read ]) t list ->         ('a, [< `Read | `Write ]) t       val sub :         ('a, [< `Read | `Write > `Read ]) t ->         int -> int -> ('a, [< `Read | `Write ]) t       val copy : ('a, [< `Read | `Write > `Read ]) t -> 'a array       val fill :         ('a, [< `Read | `Write > `Write ]) t -> int -> int -> '-> unit       val blit :         ('a, [< `Read | `Write > `Read ]) t ->         int -> ('a, [< `Read | `Write > `Write ]) t -> int -> int -> unit       val enum : ('a, [< `Read | `Write > `Read ]) t -> 'BatEnum.t       val of_enum : 'BatEnum.t -> ('a, [< `Read | `Write ]) t       val backwards : ('a, [< `Read | `Write > `Read ]) t -> 'BatEnum.t       val of_backwards : 'BatEnum.t -> ('a, [< `Read | `Write ]) t       val to_list : ('a, [< `Read | `Write > `Read ]) t -> 'a list       val of_list : 'a list -> ('a, [< `Read | `Write ]) t       val sort : ('-> '-> int) -> ('a, [ `Read | `Write ]) t -> unit       val stable_sort :         ('-> '-> int) -> ('a, [ `Read | `Write ]) t -> unit       val fast_sort : ('-> '-> int) -> ('a, [ `Read | `Write ]) t -> unit       val print :         ?first:string ->         ?last:string ->         ?sep:string ->         ('BatIO.output -> '-> unit) ->         'BatIO.output -> ('b, [< `Read | `Write > `Read ]) t -> unit       val compare :         'BatOrd.comp -> ('a, [< `Read | `Write > `Read ]) t BatOrd.comp       val ord :         'BatOrd.ord -> ('a, [< `Read | `Write > `Read ]) t BatOrd.ord       val equal :         'BatOrd.eq -> ('a, [< `Read | `Write > `Read ]) t BatOrd.eq       module Exceptionless = BatArray.Cap.Exceptionless       module Labels = BatArray.Cap.Labels       external unsafe_get : ('a, [< `Read | `Write > `Read ]) t -> int -> 'a         = "%array_unsafe_get"       external unsafe_set :         ('a, [< `Read | `Write > `Write ]) t -> int -> '-> unit         = "%array_unsafe_set"       val find :         ('-> bool) ->         ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a option       val findi :         ('-> bool) ->         ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> int option     end end