Thanks for formulating this.
It seems to me that there are two very diffent kind of programmer mindsets that are heavily in conflict with each other.
Some programmers want to write sophisticated (and sometimes very concise) code that requires deep understanding of the programming and sometimes reads like a "programming puzzle game" / Interview trick question.
Then there are the pragmatic types, which prefer simple code with a reductionalist approach. The code is easy to read but it is often not very generic and tends to get longer / repeated.
I can also see why Kyle Simpson doesn't like TypeScript, because it fits more the latter mindset. I've also seen competent and productive programmers of both types.
Has anyone experiences how those different approaches go together in a single team? To me it seems very difficult to come to a compromise or agreement here.