See README for more details
module type Function : sig ... endA ('worker, 'query, 'response) Function.t is a type-safe function 'query ->
    'response Deferred.t that can only be run on a 'worker. Under the hood it
represents an Async Rpc protocol that we know a 'worker will implement.
module type Worker : sig ... endmodule type Functions : sig ... endmodule type Creator : sig ... endmodule type Parallel : sig ... end