Если у меня есть что-то вроде:
Record Version :=
mkVersion { major:nat; minor:nat; branch:nat; hotfix:nat }.
Как добавить жесткие гарантии для значений в этом типе, например:
hotfix v > 0 && hotfix v < 8
И никто не мог создать Версию с неправильными значениями.