What ts engine allows like go to reference, parameter prediction, type inferring, auto complete... These are amazing benefits you get is if you have setup jsconfig properly.. however these should have remained in the realm of tooling or library.
Problem 1: acrobatics with composing mixing type... I always hated java for complexity it encourages... But java has nothing on TS devs who perform 30 lives of acrobatics for 4 lines of code abc<<Add>,<XYZ> > & Omit.. um you literally have entire oop going on just with types but it looks like composition but it's not really...
Types are sold as simple tool that will help you catch if send a wrong parameter
Problem 2: too many keywords and often colliding
Problem 3 : readability very low
Problem 4: anti did give
Explicit better than implicit. Isnt it?
No if explicit let's you create a jungle
JavaScript - is a jungle, cuz it was not born for normal typization. In big project it is critical.
I see people over engineer types how people in java over engineer oop.. reusability through dragging jungle everywhere, not clean composition