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