List<T> derives from the following interfaces:  
public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
I just wonder, why it needs all these interfaces (in the class declaration)?
IList itself already derives from ICollection<T>, IEnumerable<T> und IEnumerable.
So why is the following not enough?
public class List<T> : IList<T>, IList
I hope you can solve my confusion.