sig
  type 'a t =
      java'util'concurrent'atomic'AtomicStampedReference java_instance
  type stamp = int32
  val make :
    '-> AtomicStampedReference.stamp -> 'AtomicStampedReference.t
  val attempt_stamp :
    'AtomicStampedReference.t -> '-> AtomicStampedReference.stamp -> bool
  val compare_and_set :
    'AtomicStampedReference.t ->
    '->
    '->
    AtomicStampedReference.stamp -> AtomicStampedReference.stamp -> bool
  val get : 'AtomicStampedReference.t -> 'a * AtomicStampedReference.stamp
  val get_reference : 'AtomicStampedReference.t -> 'a
  val get_stamp : 'AtomicStampedReference.t -> AtomicStampedReference.stamp
  val set :
    'AtomicStampedReference.t -> '-> AtomicStampedReference.stamp -> unit
  val weak_compare_and_set :
    'AtomicStampedReference.t ->
    '->
    '->
    AtomicStampedReference.stamp -> AtomicStampedReference.stamp -> bool
  val null : 'AtomicStampedReference.t
  external is_null : 'AtomicStampedReference.t -> bool = "java is_null"
  external is_not_null : 'AtomicStampedReference.t -> bool
    = "java is_not_null"
  val wrap :
    'AtomicStampedReference.t -> 'AtomicStampedReference.t option
  val unwrap :
    'AtomicStampedReference.t option -> 'AtomicStampedReference.t
end