`sig
type 'a t = 'a atomic_loc
external get : 'a Atomic.Loc.t -> 'a = "%atomic_load_loc"
val set : 'a Atomic.Loc.t -> 'a -> unit
external exchange : 'a Atomic.Loc.t -> 'a -> 'a = "%atomic_exchange_loc"
external compare_and_set : 'a Atomic.Loc.t -> 'a -> 'a -> bool
= "%atomic_cas_loc"
external fetch_and_add : int Atomic.Loc.t -> int -> int
= "%atomic_fetch_add_loc"
val incr : int Atomic.Loc.t -> unit
val decr : int Atomic.Loc.t -> unit
end`