I was a long time C++/Java/Groovy programmer, who by circumstance wound up writing JavaScript for browsers and NodeJS.
When I'm not forced to use objects, I tend not to use them except where abstraction/encapsulation simplifies maintenance. Looking back on it now, there was a huge amount of time wasted in designing and maintaining types and interfaces, and refactoring of same.
Generics in Java are/were a disaster: I have seen casts used to break the declarations, because the declarations were wrong. And it was all to solve the RARE problem of inserting/reading the wrong type from a collection!
Types are not so important that you need to be forced to use them. Sometimes a little slop in the system is allowable, depending on whether you're writing website code or financial.