"Mailbox" variables implement a synchronising variable, used for communication between concurrent threads.
This code adapted from Comparing lightweight threads (eigenclass.org)
The type of a mailbox variable. Mailbox variables are used to
communicate values between threads in a synchronous way. The
type parameter specifies the type of the value propagated from