Really glad to see this. I encountered the use-before-declaration "feature" of TS, and I just assumed it was a bug, which I filed. I was flabbergasted when I was told it was by design, to match JavaScript.
The issue: https://github.com/Microsoft/TypeScript/issues/5822