sig
  module type T =
    sig
      type e
      type 'a t
      val length : JavaArraySignature.T.e JavaArraySignature.T.t -> int32
      val get :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        int32 -> JavaArraySignature.T.e
      val set :
        JavaArraySignature.T.e JavaArraySignature.T.t ->
        int32 -> JavaArraySignature.T.e -> unit
      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 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
    end
end