Por que a matriz implementa IList?
Veja a definição de System.Array class
public abstract class Array : IList, ...
Teoricamente, eu deveria ser capaz de escrever este pedaço e ser feliz
int[] list = new int[] {};
IList iList = (IList)list;
Eu também devo chamar qualquer método do iList
ilist.Add(1); //exception here
Minha pergunta não é por que recebo uma exceção, mas simwhy Array implementa IList?