Safe Haskell  Safe 

 newtype MonoidTC a = MonoidTC {
 unwrapMonoidTC :: a
Documentation
MonoidTC is a thread context which uses the Monoid interface to combine the values from multiple threads. Instances of the Monoid class are expected to be associative, so the value computed by MonoidTC is invariant under changes to the number of threads that are spawned.
MonoidTC  

Monoid a => NextThreadContext r w tc gc (MonoidTC a)  
Monoid a => ThreadContext r w (MonoidTC a)  
Monoid a => Instrument tc (MonoidTC a) () (Monoid2 a r w On Off tc)  
Monoid a => Monoid (MonoidTC a) 