An MVar (pronounced "em-var") is a synchronising variable, used
for communication between concurrent threads. It can be thought of as
a box, which may be empty or full.
A version of putTMVar that does not retry. The
tryPutTMVar function attempts to put the value a into
the TMVar, returning True if it was successful, or
False otherwise.