Here's the reason why I added this wrapper:

```for (let i = 0; i<10; i++) {}``` Parser API produces LetStatement for this code with ```body``` of ```ForStatement``` type. If this ForStatement isn't be wrapped with ```BlockStatement```, the resulting code will look like:
```javascript
let (i = 0)
    for (; i < 10; i++) {
    }
```

And this is invalid javascript. I'm not sure if this decision is the best one, but wrapping with ```BlockStatement``` generates at least working code :(