I>x1</I></TT> in set
      <TT><I>s1</I></TT>, then the resulting set will contain
      <TT><I>x2</I></TT>. In the second form,
      <TT>Collision</TT> <TT><I>x2</I></TT> will be raised. In the third form,
      <TT><I>f</I></TT> is applied to <TT><I>x2</I></TT> before the set is
      returned as in the first form. The following equivalences hold:</P>
      <PRE>
      union         = unionWith ignore
      unionDisjoint = unionWith (fn y => raise Collision y)</PRE>
    </DD>

    <DT>
      <TT>intersec