- do not cary over unnecessary "extends" in tsconfig.json
- keep members ending with `Brand`, but do it at the right phase
- remove shorthand literal usage which confuses tree-shaker
- add back noImplicitAny
Replaces many loops of the form:
```js
for (let i = 0; i < elements.length; ++i) {
const i = elements[i];
...
}
```
with:
```js
for (const element of elements) {
...
}
```
Mix of a horrible regex based find/replace and manual touch ups
Tree Shaking:
- do not proceed with tree shaking when there are compilation errors
- load .d.ts files in the language service
- adopt TS 3.1.1 in symbol resolution
- use the real tsconfig.json / with "node" resolution
Bundling:
- fix issue where files were being looked for in out-build instead of out-editor-build