sig
  type 'connection_state t
  val null : unit -> 'connection_state Rpc.Server.t
  val create :
    implementations:'connection_state Rpc.Implementation.t list ->
    on_unknown_rpc:[ `Call of rpc_tag:string -> version:int -> unit
                   | `Ignore
                   | `Raise ] ->
    ('connection_state Rpc.Server.t,
     [ `Duplicate_implementations of Rpc.Implementation.Description.t list ])
    Core.Std.Result.t
  val create_exn :
    implementations:'connection_state Rpc.Implementation.t list ->
    on_unknown_rpc:[ `Call of rpc_tag:string -> version:int -> unit
                   | `Ignore
                   | `Raise ] ->
    'connection_state Rpc.Server.t
end