úΨ  None QYou should not depend on this type. It varies between different implementations  of atomic counters. %The type of mutable atomic counters. 5Create a new counter initialized to the given value. )Increment the counter by a given amount. 4 Returns the original value before the increment. LNote that UNLIKE with boxed implementations of counters, where increment is # based on CAS, this increment is O(1)*. Fetch-and-add does not require a retry  loop like CAS. %An alternate version for when you don't care about the old value. Just like the  Data.Atomics/ CAS interface, this routine returns an opaque , ticket that can be used in CAS operations. NOpaque tickets cannot be constructed, but they can be destructed into values. Equivalent to  followed by . <Make a non-atomic write to the counter. No memory-barrier. &Compare and swap for the counter ADT.         atomic-primops-foreign-0.6Data.Atomics.Counter.ForeignCTicket AtomicCounter newCounter incrCounter incrCounter_readCounterForCAS peekCTicket readCounter writeCounter casCounter