¿Por qué las matrices en .net solo implementan IEnumerable y no IEnumerable <T>?

Estaba implementando mi propia clase ArrayList y me quedé sorprendido cuando me di cuenta de que

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

no funcionó ¿Cuál es la razón por la que las matrices no implementan IEnumerator en .NET?

¿Hay algún trabajo alrededor?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta