functor
  (Version_i : sig
                 val version : int
                 type query
                 type response
                 val model_of_query :
                   Versioned_rpc.Callee_converts.Make.Register.query ->
                   Model.query
                 val response_of_model :
                   Model.response ->
                   Versioned_rpc.Callee_converts.Make.Register.response
                 val bin_query :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Type_class.t
                 val bin_read_query :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Read_ml.reader
                 val bin_read_query_ :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Unsafe_read_c.reader
                 val bin_read_query__ :
                   (int -> Versioned_rpc.Callee_converts.Make.Register.query)
                   Core.Std.Bin_prot.Unsafe_read_c.reader
                 val bin_reader_query :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Type_class.reader
                 val bin_size_query :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Size.sizer
                 val bin_write_query :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Write_ml.writer
                 val bin_write_query_ :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Unsafe_write_c.writer
                 val bin_writer_query :
                   Versioned_rpc.Callee_converts.Make.Register.query
                   Core.Std.Bin_prot.Type_class.writer
                 val bin_response :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Type_class.t
                 val bin_read_response :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Read_ml.reader
                 val bin_read_response_ :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Unsafe_read_c.reader
                 val bin_read_response__ :
                   (int ->
                    Versioned_rpc.Callee_converts.Make.Register.response)
                   Core.Std.Bin_prot.Unsafe_read_c.reader
                 val bin_reader_response :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Type_class.reader
                 val bin_size_response :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Size.sizer
                 val bin_write_response :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Write_ml.writer
                 val bin_write_response_ :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Unsafe_write_c.writer
                 val bin_writer_response :
                   Versioned_rpc.Callee_converts.Make.Register.response
                   Core.Std.Bin_prot.Type_class.writer
               end->
  sig val rpc : (Version_i.query, Version_i.response) Rpc.Rpc.t end