あ、でも>>324-329,334って、結局subtypeを作ってるわけだから、
ある意味、素のHaskellに似てる?
ただし、値の実型じゃなくて、値空間のsubsetを作ってるわけだけどHaskellで出来たりするのかな。