This article is wrong from many aspects. There are things that many developers can't get with Typescript and it's flexibility...just always keep in mind what makes Typescript so special compared to any other languages. You can't achieve both flexibility and typed solid programming in the same place, you must sacrifice the things you just mentioned and few others. Typescript was supposed to be flexible and developer friendly, it's not a hardcore language and never will be.