Send a message to another process
Returns whether the send was unsuccessful.
receive a message, and return with the sender's process ID.
Receive a message from specific sender - blocks if there is no message waiting
Fails if the sender is no longer running
Receive a message - blocks if there is no message waiting
Get current process ID
Return whether a message is waiting in the queue from a specific sender
Return whether a message is waiting in the queue
Type safe message passing programs. Parameterised over the type of
message which can be send, and the return type.