>>320
ブロック省略でEnumeratorを返す方針?になってるので
selectやmapでは意味のあるEnumeratorを返せないことになってしまってるのがすごく残念

ためしに、引数でProcを与えてブロックを省略するとEnumeratorを返すようにしてみたら
(Ruby1.9で)素数を二乗したもののうち1000を超えるのを小さいほうから10個得るとかがこう書ける
require 'prime'
p Prime.instance.map(->x{x**2}).select(->x{x>1000}).take(10)
しかし、ブロックを使わないのはRuby的じゃないなぁ
常にEnumeratorを返す別メソッドを作るのとどちらがいいのか

それと、EnumerableにもArray#productみたいなのが欲しい
Pythonみたいなネストした内包表記やジェネレーター式みたいなのが書きにくい
ついでに、Enumeratorでも列挙数が固定されているものはsizeを取得できるようにならんかな