Why isn't Array a generic type?

Array is declared: public abstract class Array : ICloneable, IList, ICollection, IEnumerable { I'm wondering why isn't it: public partial class Array<T> : ICloneable, IList<T&...