Going to the implementation details, I see the implementation of Array class as
public abstract class Array : ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable
Implementation of IList interface reads as
public interface IList : ICollection, IEnumerable
My question is, doesn't the Array class automatically implement ICollection and IEnumerable the moment it implements IList? Why are these implemented explicitly?