module type S = sig ... end
Given a model of the types involved in a family of RPCs, this functor provides a single RPC versioned dispatch function
dispatch_multi in terms of that model and a mechanism for registering the individual versions that
dispatch_multi knows about. Registration requires knowing how to get into and out of the model.