[Haskell-cafe] forcing a type constraint on data