- XREP is really a router that creates and consumes request-reply routing envelopes. It is the only socket type that lets you route messages to specific connections if you know their identities. If it was called ROUTER that could be more meaningful.
- XREQ is really a combined ventilator / sink that does load-balancing on output and fair-queuing on input with no other semantics. It is the only socket type that lets you shuffle messages out to N nodes and shuffle the replies back, in a raw bidirectional asynch pattern. If it was called DEALER that could be more meaningful.