module type S : sig ... end
Given a model of the types involved in a family of Pipe_RPCs, this functor
provides a single multi-version implementation function implement_multi
in terms
of that model and a mechanism for registering the individual versions that
implement_multi
knows about. Registration requires knowing how to get into and
out of the model.