let cup (s1 : 'e hashset) (s2 : 'e hashset) : 'e hashset = let newset = copy s1 in iter (add newset) s2; newset