[Haskell-cafe] Trying to Express Constraints using a data structure