sig
  type 'a t = java'util'concurrent'atomic'AtomicReferenceArray java_instance
  type index = int32
  val make : int32 -> 'a -> 'a AtomicReferenceArray.t
  val compare_and_set :
    'a AtomicReferenceArray.t ->
    AtomicReferenceArray.index -> 'a -> 'a -> bool
  val get : 'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a
  val get_and_set :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a -> 'a
  val lazy_set :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a -> unit
  val length : 'a AtomicReferenceArray.t -> int32
  val set :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a -> unit
  val weak_compare_and_set :
    'a AtomicReferenceArray.t ->
    AtomicReferenceArray.index -> 'a -> 'a -> bool
  val null : 'a AtomicReferenceArray.t
  external is_null : 'a AtomicReferenceArray.t -> bool = "java is_null"
  external is_not_null : 'a AtomicReferenceArray.t -> bool
    = "java is_not_null"
  val wrap : 'a AtomicReferenceArray.t -> 'a AtomicReferenceArray.t option
  val unwrap : 'a AtomicReferenceArray.t option -> 'a AtomicReferenceArray.t
end