тут в очередном сраче мне просто открылось. динамикоёбы думают что динамика это надстройка над статикой, т.е. до сих пор при наличии сумтипов, частичных интерфейсов, структурал тайпинга, хкт динамисты исходят из того что динамика это то что динамичнее, то что играет красками над сухой статической структурой. по их мнению это такой рост, они возвысили тайпчекер до рантайма чтобы строить себе типизацию самим, которая бы заключалась только в проверке аргументов и стейта в вызываемой функции.
и важно и интересно. в 90е они могли говорить - для удобства caller'a эта функция принимает все что угодно и делает выводы по тому что найдет, невалидные состояния мы исключаем эксепшенами, невалидные цепочки вызовов исплючаем эксепшенами
когда статика возмужала и оказалось что это все можно сделать статически они начали говорить что выразить это статически слишком сложно, зачем нам десяток интерфейсов которые должен поддерживать мой компонент, я просто сделаю тесты.
методичка поменялась а верования остались