Dear GHC devs,
I am trying to figure out a way to obtain the constraints that hold over a type. Let me give you an example: suppose that I write the following function:
f :: Eq a => [a] -> Bool
f xs = xs == []
If I ask for the type of the Var ' xs', I get back '[a]'. This is correct, but I am missing the crucial information that '[a]' must be Eq.
Is there an easy way to get it? It seems that 'varType' doesn't give me enough information.
Regards,
Alejandro