Funcを取るIterの名前をIterFに変更
EnumerableからFilterやChooseを削除

IE<T>は有限であることを想定しないシーケンスということに
EnumerableにTryGet/Getを追加
EnumerableにIterを追加