sig
  module Array :
    sig
      val rev : 'a array -> 'a array
      val rev_in_place : 'a array -> unit
      val for_all : ('-> bool) -> 'a array -> bool
      val exists : ('-> bool) -> 'a array -> bool
      val mem : '-> 'a array -> bool
      val memq : '-> 'a array -> bool
      val find : ('-> bool) -> 'a array -> 'a
      val findi : ('-> bool) -> 'a array -> int
      val filter : ('-> bool) -> 'a array -> 'a array
      val find_all : ('-> bool) -> 'a array -> 'a array
      val partition : ('-> bool) -> 'a array -> 'a array * 'a array
      val enum : 'a array -> 'Enum.t
      val of_enum : 'Enum.t -> 'a array
      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 : 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 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 : ('-> '-> 'b) -> 'a array -> '-> 'b
      val sort : ('-> '-> int) -> 'a array -> unit
      val stable_sort : ('-> '-> int) -> 'a array -> unit
      val fast_sort : ('-> '-> int) -> 'a array -> unit
      external unsafe_get : 'a array -> int -> 'a = "%array_unsafe_get"
      external unsafe_set : 'a array -> int -> '-> unit
        = "%array_unsafe_set"
    end
end