Data declaration with constraint
I have declared
and I hoped that now the type checker knows, that every value of type
data C a => T a = Cons a
satisfies the type constraint on
Only functions can have type constraints.The type constraint of a
only refers to the constructors.
The designers of Haskell 98 do now think, that it was a bad decision to allow constraints on constructors.
But how can one bake type constraints into a type ? ...