An OCaml port of Haskell's Control.Concurrent.MVar.
'a Mvar.t is a mutable location which can either be empty, or contain a
value of type
'a. The location can be written to and read from safely from
multiple concurrent Unix threads.
Depends only on OCaml's native
threads library, as well as
oUnit for testing.