An implementation of Treiber stacks, a lock free stack. Works with any monad that has atomically modificable references. 0.0.2: Removed debug code accidentally left in in version 0.0.1. 0.0.3: Added specializations of the TreiberStack data structure to the IO and STM monads (forgotten to export in 0.0.2). 0.0.4: Modification to remove unrequired Eq class requirement and changed broken specialize pragma.