functor
  (Set : sig
           type elt
           type t
           val fold :
             (Pretty.MakeSetPrinter.elt -> '-> 'a) ->
             Pretty.MakeSetPrinter.t -> '-> 'a
         end->
  sig
    val docSet :
      ?sep:Pretty.doc ->
      (Set.elt -> Pretty.doc) -> unit -> Set.t -> Pretty.doc
    val d_set :
      string ->
      (unit -> Set.elt -> Pretty.doc) -> unit -> Set.t -> Pretty.doc
  end