TVar package:dejafu

Every TVar has a unique identifier.
Get the TVars affected by a ThreadAction.
Get the TVars a transaction read from.
Get the TVars a transaction wrote to (or would have, if it didn't retry).
Read the content of a TVar. This is essentially readTVar.
A TVar is modelled as a unique ID and a reference holding a value.