This interface is not intended to be used directly by users!
The master process forks a worker process for each task that Parallel is asked to do.
After forking, in the worker process, the master calls Worker_process.run, which:
1. accepts a single connection from its control_socket.
2. reads a single marshaled To_worker.Run f message over the connection.
3. creates a hub with control_socket and supplies it to f.
4. when f returns, writes a single From_worker message with the result over
the control_socket connection.
5. exits.
module To_worker : sig ... endmodule From_worker : sig ... endval run : control_socket:([ `Passive ], Async.Socket.Address.Inet.t) Async.Socket.t ‑> Core.never_returns