sig
  type 'a t =
      java'util'concurrent'atomic'AtomicMarkableReference java_instance
  type mark = bool
  val make :
    '-> AtomicMarkableReference.mark -> 'AtomicMarkableReference.t
  val attempt_mark :
    'AtomicMarkableReference.t ->
    '-> AtomicMarkableReference.mark -> bool
  val compare_and_set :
    'AtomicMarkableReference.t ->
    '->
    '->
    AtomicMarkableReference.mark -> AtomicMarkableReference.mark -> bool
  val get : 'AtomicMarkableReference.t -> 'a * AtomicMarkableReference.mark
  val get_reference : 'AtomicMarkableReference.t -> 'a
  val is_marked : 'AtomicMarkableReference.t -> bool
  val set :
    'AtomicMarkableReference.t ->
    '-> AtomicMarkableReference.mark -> unit
  val weak_compare_and_set :
    'AtomicMarkableReference.t ->
    '->
    '->
    AtomicMarkableReference.mark -> AtomicMarkableReference.mark -> bool
  val null : 'AtomicMarkableReference.t
  external is_null : 'AtomicMarkableReference.t -> bool = "java is_null"
  external is_not_null : 'AtomicMarkableReference.t -> bool
    = "java is_not_null"
  val wrap :
    'AtomicMarkableReference.t -> 'AtomicMarkableReference.t option
  val unwrap :
    'AtomicMarkableReference.t option -> 'AtomicMarkableReference.t
end