Por que matrizes no .net implementam apenas IEnumerable e não IEnumerable <T>?

Eu estava implementando minha própria classe ArrayList e fiquei surpresa quando percebi que

public System.Collections.Generic.IEnumerator<T> GetEnumerator() {
    return _array.GetEnumerator();
}

não funcionou. Por que as matrizes não implementam o IEnumerator no .NET?

Existe alguma solução alternativa?

obrigado