functor (S : Set.S) -> sig type dups = No_dups of S.t | Has_dups of S.elt val duplicates : S.elt list -> Util.Duplicate.dups end