functor (O : Set.OrderedType)
  (K : sig
         type a = O.t
         val format : Format.formatter -> a -> unit
         val format_list : Format.formatter -> a list -> unit
         val show : a -> string
         val show_list : a list -> string
       end)
  ->
  sig
    type a = Set.Make(O).t
    val format : Format.formatter -> a -> unit
    val format_list : Format.formatter -> a list -> unit
    val show : a -> string
    val show_list : a list -> string
  end