Это холивар на тему "языки со статической типизацией vs языки с динамической типизацией"
Каждая сторона может привести кучу значимых аргументов в свою пользу.
Если проект очень сложный/очень ответственный - все должно быть строго, иначе нахлебаетесь.
Для простых - лучше гибче, без лишней строгости. Разработка будет быстрее, дешевле.