Хз, а как правильно тогда
существуют некоторые инварианты, связанные с типом
в условном идрисе они будут защищены из-за множества допустимых операций, которые просто сохраняют эти инварианты
в структурном программировании так не пойдет, можно конечно все попрятать, но язык все равно не хочет так работать
в ООП придумали совместить данные с методами, чтобы эти инварианты сохранялись, если в реализации класса не накосячишь