`sig
type !'a t
val make : 'a -> 'a CamlinternalAtomic.t
val get : 'a CamlinternalAtomic.t -> 'a
val set : 'a CamlinternalAtomic.t -> 'a -> unit
val exchange : 'a CamlinternalAtomic.t -> 'a -> 'a
val compare_and_set : 'a CamlinternalAtomic.t -> 'a -> 'a -> bool
val fetch_and_add : int CamlinternalAtomic.t -> int -> int
val incr : int CamlinternalAtomic.t -> unit
val decr : int CamlinternalAtomic.t -> unit
end`