I changed it to return an object
```js
  return {
    js: code,
    errors: errorReporter.errors
  };
```

The `code` is `null` if there is any error (we even don't call `TreeWriter.write`). I don't like throwing error here. We don't have any error to throw and we make everybody to use try/catch. There can be many errors.