Zmq_deferred
module Deferred : sig ... end
module Socket : sig ... end
The functor allows abstraction of the concurrency monad