Forin

``` javascript
for (var k in obj) { <body> } 
```

gets translated to 

``` javascript
var _keys = builtin_BIForInKeys(obj); 
          // Array<Imm, { v: string | (keyIn(v,obj) && enumProp(v,obj)) }>

for (var _i = 0; _i < _keys.length; _i++) {
  var k = _keys[_i];

     <body>
}
```