¿Por qué la matriz implementa IList?

Ver la definición de System.Array clas

public abstract class Array : IList, ...

eóricamente, debería poder escribir este bit y ser feliz

int[] list = new int[] {};
IList iList = (IList)list;

También debería poder llamar a cualquier método desde iList

 ilist.Add(1); //exception here

Mi pregunta no es por qué recibo una excepción, sino por qué Array implementa IList?

Respuestas a la pregunta(5)

Su respuesta a la pregunta