C>По твоей логике, в Class2 базовый класс тоже "имплементирован не полностью".
На 4.7.2 ошибка, что "target runtime does not support covariant type in overrides".
Как поддержка "covariant type in overrides" по твоему связана с необходимостью определить Enumerable.GetEnumerator?