Есть ещё неплохие практики получающие получть плюшки строгой типизации, формально используя не строгую, типа каст типов только в большую сторону, то есть безопасно, потому что без потерь
Не знаю о чем спор. Если типы определяются в рантайме - типизация динамическая, на этапе компиляции - статическая. Если в языке есть неявный каст типов, то есть 1 + "2" = 3, типизация нестрогая(слабая), если 1 + "2" выдает ошибку - строгая(сильная)
Есть ещё неплохие практики получающие получть плюшки строгой типизации, формально используя не строгую, типа каст типов только в большую сторону, то есть безопасно, потому что без потерь