title: Why is HashSet<T>.IsReadOnly explicit?
body: <p>This</p>
  
  <pre><code>var h = new HashSet&lt;int&gt;();
  var r = h.IsReadOnly;
  </code></pre>
  
  <p>does not compile. I have to do</p>
  
  <pre><code>var r = ((ICollection&lt;int&gt;)h).IsReadOnly;
  </code></pre>
  
  <p>why wasn't IsReadOnly implemented normally?</p>
  
  <p>(I'm not asking <strong>how</strong>, but <strong>why</strong>)</p>