sig
  type ('a, 'b, 'c) t =
      < call : '-> 'Ccell.Event.event;
        entry : '-> 'Ccell.Event.event >
  val rpc : ('a * '-> 'a * 'c) -> ('a, 'b, 'c) Ccell.MakeRPC.t
  val server : '-> ('-> 'Ccell.Event.event) list -> unit
end