defs not supported (yet?) yield inside loops with "captured" let/const inside:
supported
```javascript
var arr = [];
for(var i = 0 ; i < 10 ; i++) {
  let x = i;
  arr.push(x);
  yield x;
}
```
not supported (throw error)
```javascript
var arr = [];
for(var i = 0 ; i < 10 ; i++) {
  let x = i;
  arr.push(function(){ return x });
  yield x;
}
```
@olov can explain more in detail