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