module JoinPool: sig .. end
Dynamic dispatch of work among registered agents.
module Simple: sig .. end
Simple implementation: use-once pools that can be used
to dispatch one task.
module Shared: sig .. end
Advanced implementation with functorial interface