We&#x27;re super happy with TypeScript in Angular, it&#x27;s working great for us, and having the option (!) to easily use it will be great for Angular users.<p>A note on all the praise for type inference: local type inference is super cool as it saves on a lot of boiler plate (`Foo foo = new Foo(); &#x2F;&#x2F; foo` anyone?).<p>But global type inference, i.e. across function and module boundaries, has its drawbacks. Apart from performance cost, the most important is IMHO understandability. If you don&#x27;t have explicit types across module boundaries, it can easily become hard to decide just what a type is supposed to be, e.g. if your code doesn&#x27;t compile, but the compiler cannot tell you which part of it is wrong, because all the types are inferred. That can easily lead to &quot;wall of text&quot; C++ compiler style error messages. Same if some new library version changes type inference patterns, your code might suddenly break in surprising and hard to understand ways.<p>I think TypeScript&#x27;s (&amp; Go&#x27;s) choice of local type inference is a good mix of less boilerplate and good understandability, together with gradual typing via `any`.