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