I think there are many great programmers who do great work in spite of lacking building on a solid, typed foundation. But it breaks down when change and collaboration begin to come into play, unless a huge amount of care is taken. We get frustrated about when it goes wrong.
On the flipside, there's plenty of messes/time sinks that come from going all in with overly fancy types. Aiming for somewhere in between. Nicely typed, with a judicious use of high powered abstractions.