Ruby風ということは、クロージャを受け取って、そのクロージャを
繰り返し呼び出すようなメソッドがArrayとかにある、というやり方だが...

arr が [1, 2, 3] だとして

for (e in arr) {
 hoge
}



var tmp = function(e) {
 hoge
}
arr.__each__(tmp)

と展開されて each から tmp(1), tmp(2), tmp(3) と呼ばれる、という
そんな感じ、になるのかな、TJSでは。

なんでTJSが影響を受けてるC++やJavaScriptのような外部イテレータ
じゃなくて、Ruby風の内部イテレータにするんだろう?