¿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?