Why does List<T> implement IList<T>, ICollection<T> and IEnumerable<T>?
<p>If you go to definition of <code>List&lt;T&gt;</code> you would see the following:</p>

<pre><code>public class List&lt;T&gt; : IList&lt;T&gt;, ICollection&lt;T&gt;, IEnumerable&lt;T&gt;
</code></pre>

<p><code>IList&lt;T&gt;</code> already inherits from both <code>ICollection&lt;T&gt;</code> and <code>IEnumerable&lt;T&gt;</code>.</p>

<p>Wouldn't it have been sufficient if <code>List&lt;T&gt;</code> only implemented <code>IList&lt;T&gt;</code>?</p>
