title: Subtract HashSets (and return a copy)?
body: <p>I've got a HashSet,</p>
  
  <pre><code>var universe = new HashSet&lt;int&gt;();
  </code></pre>
  
  <p>And a bunch of subsets,</p>
  
  <pre><code>var sets = new List&lt;HashSet&lt;int&gt;&gt;(numSets);
  </code></pre>
  
  <p>I want to subtract a chunk, which I can do like this:</p>
  
  <pre><code>var remaining = universe.ExceptWith(sets[0]);
  </code></pre>
  
  <p>But <code>ExceptWith</code> works in-place. I don't want to modify the <code>universe</code>. Should I clone it first, or is there a better way?</p>