Given a model of the types involved in a family of Pipe_RPCs,
this functor provides a single Pipe_RPC versioned dispatch
function dispatch_multi in terms of that model and a mechanism
for registering the individual versions that dispatch_multi
knows about.