To that I'd reply: Statically typed languages are when you have to tell a computer that 2 is an integer and 'two' is a string.
I know this argument goes back and forth and never ends. And I'm not trying to start a flame war.
But I will say this: type systems occupy a space on a spectrum in my opinion, and the spectrum is imperative vs. declarative languages.
It's a conceptual spectrum, of course. And the difference is between telling the language exactly what you want and how you want it vs. telling the language what you want to get.
On one end you have C# as the avatar of strongly and statically and imperative languages. In the middle, you have something like Python that is strongly typed but dynamic, and at the far end, you have SQL, which is as strong or weak as you define your tables as well as entirely declarative. You can choose your own adventure with databases.
You have some bad citizens like JavaScript and PhP, but the conversation is really about the use-case.
IMO, strong typing is far more important than static typing. Because I personally can't stand silent errors. Weak type systems are the root of all evils. Anything that can fail silently is dead to me. Fuck you, <language>. Tell me if something broke. Don't just quietly do something I don't expect.
Which approach to use to me depends on the team and the size of the project. You can run with Python for small teams. You really can't for large teams. You really shouldn't use C# for rapid prototyping or small teams.
But you absolutely should a statically typed language for large teams.
Edit to put the sharp in my example of statically and strongly typed language.