title: Explicitly inherit 'grand parent' interface in inheritance list
body: <p>I was having a look at the <code>IOrderedQueryable&lt;T&gt;</code> interface and noticed that it inherits from <code>IQueryable&lt;T&gt;</code> but also from <code>System.Collections.Generic.IEnumerable&lt;T&gt;</code>, <code>IQueryable</code> and <code>IEnumerable</code></p>
  
  <pre><code>public interface IOrderedQueryable&lt;T&gt; : 
      System.Linq.IQueryable&lt;T&gt;,
      System.Collections.Generic.IEnumerable&lt;T&gt;,
      System.Linq.IOrderedQueryable,
      System.Linq.IQueryable,
      System.Collections.IEnumerable 
  </code></pre>
  
  <p>My question: Since <code>IQueryable&lt;T&gt;</code> already does inherit from these other interfaces why does <code>IOrderedQueryable</code> have to specify/inherit from these explicitly? Why not just inherit from <code>System.Linq.IQueryable&lt;T&gt;</code> and <code>System.Linq.IOrderedQueryable</code>.</p>
  
  <p>Obviously this question is applicable to interface inheritance in general also.</p>