Я лично за статическую типизацию с автовыводом типа, ну максимум - за смешанную
Это уменьшает число багов в ран-тайме, да и может ускорить работу виртуальной машины ака Платформа 1С.
(45) А чем дженерики то не угодили. Для ссылочных типов компилится один класс на все классы. Для валуе типов будет для каждого типа свой.
По поводу типизации например в TypeScript это аннотации. https://ru.hexlet.io/blog/posts/kak-ispolzovat-annotatsii-tipov-v-faylah-javascript Типизация прежде всего удобна для интеллисенсе (когда методы длинные и не ошибиться), ну и контроль типов.
В том же C# есть dynamic. Я за смешанную и с утиной типизацией типа аннотаций