Null AND Undefined still coexist, though type safety helps. There's an idiomatic way to specify classes, as opposed to using a pattern of object returning closure function for instance. There's still both the == and === operators.
A problem beyond type-safety is the confusing semantics of 'this': https://github.com/Microsoft/TypeScript/wiki/'this'-in-TypeS...