Haskell data constraints, the right way
codepills.net