Is there a way to define a type with qualification on top of existing type (e.g.  prime numbers)?   Say for example I want to define a computation that takes a prime number and generates a string.   Is there any way I can do that in Haskell?

thanks,

Daryoush