TVar package:universum
Shared memory locations that support atomic memory transactions.
Create a new
TVar holding a value supplied
Return the current value stored in a
TVar.
Like 'modifyTVar'', but modification is specified as a State
monad.
Write the supplied value into a
TVar.