Если вы перейдете к определению List<T>, вы увидите следующее:
public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>
IList<T> уже наследует как от ICollection<T>, так и от IEnumerable<T>.
Было бы недостаточно, если List<T> реализован только IList<T>?