Introducing strict typing to a dynamic language? Sounds like madness, but works like a charm. TypeScript shows, that we can have the best from both approaches: dynamic and statically typed. Let's deep dive into the language and see how can we release its potential.