functor (O : Set.OrderedType->
  functor
    (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