Tooling: linting
I decided against using the ES6++ syntax (@Inject annotations and type annotations) because of the poor linting support. For anyone who follows in my footsteps, here's the latest on the linter front at the time of writing: https://groups.google.com/d/msg/angular-dev/JdQHLzAA9xg/TcfpVCeEGGEJ
There is some discussion about ES6 support for ESLint here, although ES6++ has not been discussed: https://github.com/eslint/eslint/issues/1291
There is an issue against JSHint specifically for ES6++ support: https://github.com/jshint/jshint/issues/1789
I think a note about linter support belongs as a FAQ in the docs: "Should I use the ES6++ syntax in production?". The answer is probably no because you'll most likely lose the ability to lint.
If @rwaldron / @valueof / @jugglinmike / other jshint owners/collaborators are open to it, it doesn't seem totally unreasonable to support traceur extensions there. But since they're rolling a whole new language for angular 2.0 now, the traceur extensions might not be enough for angular. Not positive on that.