Indeed List<T>
would have just implemented like this
public class List<T> : IList<T>, IList
It is the reflector or such decompiler shows you all the interfaces in inheritance.
Try this
public class List2<T> : IList<T>
I just compiled this and viewed in reflector, which shows like this
public class List2<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable