sig
  val pp_array :
    (Format.formatter -> '-> unit) -> Format.formatter -> 'a array -> unit
  val pp_list :
    (Format.formatter -> '-> unit) -> Format.formatter -> 'a list -> unit
  val pp_option :
    (Format.formatter -> '-> unit) -> Format.formatter -> 'a option -> unit
  module type Trace =
    sig
      type t
      val trace_call :
        string -> (Format.formatter -> unit) -> Orpc_pp.Trace.t
      val trace_reply_ok :
        Orpc_pp.Trace.t -> (Format.formatter -> unit) -> unit
      val trace_reply_exn :
        Orpc_pp.Trace.t -> exn -> (Format.formatter -> unit) -> unit
    end
  module Trace_of_formatter :
    functor (F : sig val formatter : Format.formatter end-> Trace
end