メッセージパッシングモデルのOOPがレシーバ1つに特化したのと同じで、
クロージャ1つに特化したイテレータ文法はそれなりに成功してると思うけどなあ。
複数わたすなら明示的に普通の引数の一つとした方がよいだろうね。
ブロックとProcオブジェクトの微妙過ぎな違いもなくして統一し、
{ |a,b| ... } をRubyにおけるlambda式の表現としてどこにでも書けるように
するのがいいと思う。