module type S = sig .. end
type caller_query 
type caller_response 
type callee_query 
type callee_response 
val dispatch_multi : Versioned_rpc.Connection_with_menu.t ->
       caller_query ->
       caller_response Core.Std.Or_error.t
       Import.Deferred.t
multi-version dispatch
val implement_multi : ?log_not_previously_seen_version:(name:string -> int -> unit) ->
       ('state ->
        callee_query ->
        callee_response Import.Deferred.t) ->
       'state Rpc.Implementation.t list
implement multiple versions at once
val versions : unit -> Core.Std.Int.Set.t
all supported versions. useful for detecting old versions which may be pruned