Для меня они не сильно отличаются, если вы видите динамически типизированные языки как просто форму статической типизации, где все наследуется от достаточно абстрактного базового класса.
Проблемы возникают, когда, как отмечали многие, вам становится странно с этим. Кто-то указал на функцию, которая возвращает один объект, коллекцию или ноль. Пусть функция возвращает определенный тип, а не множественный. Используйте несколько функций для одной коллекции против.
Все сводится к тому, что любой может написать плохой код. Статическая печать - отличное средство защиты, но иногда шлем мешает, когда хочется почувствовать ветер в волосах.