Communication.Distributed_wrapperSourceWrapper for the Distributed library. The new API is designed for the distribution of protocols based on a 1 master N workers architecture, in which at each step of the protocol:
request (see Message module), whose payload will change for every worker.reply (see Message module).Instead of directly using the send and receive, the new API provides two abstractions, `dmap` and `handle_request`, to implement this interaction from the master and worker respectively. These abstractions will enforce via the type-system that the request and reply used correspond to the same protocol step.
Messages are refined into either a request or a reply. Both these types are parameterized by their protocol step. The ground type of messages (t) is enforced to be bytes, to avoid relying on the Marshalling performed by the Distributed library.