Thank you (!) for your amazing contributions. TS is the best new thing in tech.
That said:
Your linguistic genius is way ahead of the tooling.
I feel as though some of these 'new and cool' 2.1 things are a little bit intellectual, maybe useful in some cases ...
But getting TS to work in the real world, the various build configurations, tool-chains etc. - it's still clumsy.
It was difficult to grasp the difference between AMD and other paradigms. I still have problems with circular dependencies, or rather, things happening before modules are loaded.
Here's one pain point:
Creating a static attribute on a class and initializing it right there, as in:
class A { static b:B = new B(); }
Means that 'new B()' will get executed right when that module is loaded, possibly before the module containing B is loaded.
It's ugly, mechanical - but it's not a 'fine point'. I think these are the kinds of issues which are more likely to hold people back, as opposed to the lack of some rather fancy new paradigms such as 'Mapped Types'.
Anyhow, keep up the good work. Lovin't it.