This is similar to Daniel Pratt's answer, but a more typical approach is to discard the type constraints in the data definition, for example:
data SomeData a = SomeValue
| SomeConstructor a
(Integral a) , , . , SomeData, , , a . . 10 Real World Haskell.