IEnumerableインターフェース(発音がわからない)についてですが、
IEnumerableで、GetEnmumeratorを実装させて、
戻り値のインターフェースのIEnumeratorで、
本当に欲しい機能であるReset,MoveNext,Currentを
再度インターフェースしているわけですが、なぜこんな2段が舞えに
しているのでしょうか?

IEnumeratorだけを実装してIEnumeratorであるかどうかだけを
チェックしてからreset....などのメソッドを使えばいいはずですよね?