короче в чем преимущество типов перед тестами:
1) быстрее проверяются
2) проверяют все случаи, в тестах можно много чего не предусмотреть
3) более точно описывают контракты, по сути с мощной системой типов программирование сводится к деланию и всовыванию деталек в правильные дырки, иногда даже делаешь то что IDE говорит, чото написал просто через типы, сам не понимаешь как это работает но это работает кек