functor (S : Set.S->
  sig
    val add_list : S.t -> S.elt list -> S.t
    val remove_list : S.t -> S.elt list -> S.t
    val from_list : S.elt list -> S.t
    val list_union : S.t list -> S.t
    val list_inter : S.t list -> S.t
  end