The hardcore “sound types” crowd believes that anybody using dynamic types is doomed.
I must not have the same problems they do.
First class functions; closures; higher order functions; partial function application, seasoned with the occasional variadic vs fixed arity function, and I’m good.
One can learn the other 95% of the jargon to deal with 5% of the problems later.
What they believe is that "dynamic types" is a misnomer, and if you think your program is checking dynamic types, it is in fact doing runtime pattern matching over a variant record. There's nothing wrong with pattern matching and variant records; but conflating them with types is just nutty, and using them pervasively as part of the ordinary flow of code is no different than programming in old-style VB.
For the record I am a convert. Types have made my developer life much happier, especially working with unfamiliar code across multiple projects/teams. When you treat your builds as long term proofs your confidence level increases dramatically.
"abstraction over type constructors" might have to do with typing and not related to functional programming.