Thanks for both answers. It wasn't what I had in mind, but surely it is just that I have to get used to Haskell strong typing. Until now I think I'm used to apply DRY beyond types :)

So, from you answers, I can conclude that there is no way to tell something like the following in a type signature: "any type build with that type operators". Isn't it?