все языки без типов не избегают требований описаний структур
т.е. есть примерно два варианта использования
либо ты читаешь данные и ничего особо не меняя кидаешь их в формочку с байндингом.
И это естественно делается в любом типизированном языке, нужно просто читать жсон, не конвертировать в кейскласс.
Либо ты начинаешь эти данные обрабатывать и во время обработки тебе в любом случае придётся дописать те же чеки/конвертации/циклы, которые косвенно описывают твою структуру.
В итоге в случае если из кода твоя структура инферрится косвенно, ты просто теряешь возможность использования автоматических штук, вытащенных компилятором за счёт инфы о типах.
В итоге скала/хощкель по количеству действий не обгоняет бестиповый язык, просто та же информация записана в других местах.
А если посмотреть, как сейчас питонисты пишут код, они всё равно описывают те же схемы данных иногда в декораторах к хендлерам иногда в датаклассах.
Если говорить про СУБД, так там точно не меньше работы ормка точно так же требует схему описать