data Hoge = Hoge { one::Int two::Int }
で必ずoneの方が小さい値になるようにしたい時とか

data Hoge = Hoge Int
でIntの値をある範囲におさめたい時とかどのようにすれば良いでしょうか。

宣言のしかたや、コンストラクタでなんとかできるものですか?
後者については最初はBoundedでなんとかできるかと思ったのですが
勘違いをしていたみたいですし。