sig
  type 'a t = 'a java_reference_array
  external length : 'a java_reference_array -> java_int
    = "java array length reference"
  external get : 'a java_reference_array -> java_int -> 'a
    = "java array get reference"
  external set : 'a java_reference_array -> java_int -> '-> unit
    = "java array set reference"
  val blit :
    'a java_reference_array ->
    java_int -> 'a java_reference_array -> java_int -> java_int -> unit
  val iter : ('-> unit) -> 'a java_reference_array -> unit
  val iteri : (java_int -> '-> unit) -> 'a java_reference_array -> unit
  val fold_left : ('-> '-> 'a) -> '-> 'b java_reference_array -> 'a
  val fold_right : ('-> '-> 'b) -> 'a java_reference_array -> '-> 'b
  external to_object :
    'a java_reference_array -> java'lang'Object java_instance
    = "java array to_object reference"
  external of_object :
    java'lang'Object java_instance -> 'a java_reference_array
    = "java array of_object reference"
  val equals : 'JavaReferenceArray.t -> 'JavaReferenceArray.t -> bool
  val hash_code : 'JavaReferenceArray.t -> java_int
  val to_string : 'JavaReferenceArray.t -> JavaString.t
  val null : 'a java_reference_array
  external is_null : 'a java_reference_array -> bool = "java is_null"
  external is_not_null : 'a java_reference_array -> bool = "java is_not_null"
  val wrap : 'a java_reference_array -> 'a java_reference_array option
  val unwrap : 'a java_reference_array option -> 'a java_reference_array
end