Process( are receivers that run in the IO Monad The  ReceiverT generic type. r- the type of things the process will receive m the monad in which it will run a the classic monad parameter A Process handle. It'2s returned on process creation and should be used % | afterwards to send messages to it sendTo6 lets you send a message to a running process. Usage:   # sendTo processHandle message   The receiver process handle The message to send kill9 lets you *brutally* terminate a running process. Usage:    kill processHandle   The handle of process to kill recv4 lets you receive a message in a running process (it's a blocking receive). Usage:    message <- recv    Just like recv& but with a timeout parameter. Usage:    maybeMessage <- recv   #milliseconds to wait until timeout sendRecv is just a syntactic sugar for:    sendTo h a >> recv   The receiver process handle The message to send KThe process where this action is run will wait until it receives something spawn1 starts a process and returns its handle. Usage:    handle <- spawn process   The process to be run The handle for that process runHere: executes process code in the current environment. Usage:    result <- runHere process   The process to be run It's returned as an action self3 returns the handle of the current process. Usage:    handle <- self    makeProcessB builds a process from a code that generates an IO action. Usage:    process <$- makeProcess evalFunction receiver              eprocess-1.5.1Control.Concurrent.ProcessProcess ReceiverTHandlesendTokillrecvrecvInsendRecvspawnrunHereself makeProcessRTinternalReaderPHchanthreadonInner