sig
  module type T =
    sig
      type e
      type 'a t
      val make : java_int -> JavaArraySignature.T.e JavaArraySignature.T.t
      val init :
        java_int ->
        (java_int -> JavaArraySignature.T.e) ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val length : JavaArraySignature.T.e JavaArraySignature.T.t -> java_int
      val get :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java_int -> JavaArraySignature.T.e
      val set :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java_int -> JavaArraySignature.T.e -> unit
      val append :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val concat :
        JavaArraySignature.T.e JavaArraySignature.T.t list ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val sub :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java_int -> java_int -> JavaArraySignature.T.e JavaArraySignature.T.t
      val copy :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val fill :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java_int -> java_int -> JavaArraySignature.T.e -> unit
      val blit :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java_int ->
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java_int -> java_int -> unit
      val to_list :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e list
      val of_list :
        JavaArraySignature.T.e list ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val iter :
        (JavaArraySignature.T.e -> unit) ->
        JavaArraySignature.T.e JavaArraySignature.T.t -> unit
      val map :
        (JavaArraySignature.T.e -> JavaArraySignature.T.e) ->
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val iteri :
        (java_int -> JavaArraySignature.T.e -> unit) ->
        JavaArraySignature.T.e JavaArraySignature.T.t -> unit
      val mapi :
        (java_int -> JavaArraySignature.T.e -> JavaArraySignature.T.e) ->
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val fold_left :
        ('-> JavaArraySignature.T.e -> 'a) ->
        '-> JavaArraySignature.T.e JavaArraySignature.T.t -> 'a
      val fold_right :
        (JavaArraySignature.T.e -> '-> 'a) ->
        JavaArraySignature.T.e JavaArraySignature.T.t -> '-> 'a
      val of_ocaml :
        JavaArraySignature.T.e array ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val to_ocaml :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e array
      val to_object :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        java'lang'Object java_instance
      val of_object :
        java'lang'Object java_instance ->
        JavaArraySignature.T.e JavaArraySignature.T.t
      val equals :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t -> java_boolean
      val hash_code :
        JavaArraySignature.T.e JavaArraySignature.T.t -> java_int
      val to_string :
        JavaArraySignature.T.e JavaArraySignature.T.t -> JavaString.t
      val null : JavaArraySignature.T.e JavaArraySignature.T.t
      val is_null : JavaArraySignature.T.e JavaArraySignature.T.t -> bool
      val is_not_null : JavaArraySignature.T.e JavaArraySignature.T.t -> bool
      val wrap :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        JavaArraySignature.T.e JavaArraySignature.T.t option
      val unwrap :
        JavaArraySignature.T.e JavaArraySignature.T.t option ->
        JavaArraySignature.T.e JavaArraySignature.T.t
    end
end