  <PRE>
      remove         = removeWith ignore
      removeExistent = removeWith (fn y => raise Unknown y)</PRE>
    </DD>

    <DT>
      <TT>union (<I>s1</I>, <I>s2</I>)</TT> <BR>
      <TT>unionDisjoint (<I>s1</I>, <I>s2</I>)</TT> <BR>
      <TT>unionWith <I>f</I> (<I>s1</I>, <I>s2</I>)</TT>
    </DT>
    <DD>
      <P>Returns the union of sets <TT><I>s1</I></TT> and <TT><I>s1</I></TT>.
      In the first form, if <TT><I>s2</I></TT> contains an element
      <TT><I>x2</I></TT> equal to an element <TT><