I'm still struggling with getting the right information. My aim is to know the kind of a specific variable in a type instance defintion. For example, if I get:
type family F (x :: Bool)
type instance F y = ()
^
where ^ marks the point from where I want the information, I want to get "y has kind Bool".
The approach I'm taking is obtaining the LHsType Name from the specific position in the RenamedSource of the file. Then, I'm trying to convert that LHsType Name to a Type using functions in HscTypes, but I always get complaints about not existing variables.
In the past, I implemented something similar for normal functions. However, in that case I could get the information directly from TypecheckedSource, by querying for a pattern variable with the right location. However, in the TypecheckedSource there's no information about type families at all :( My other possibility seems to use the ModuleInfo, but in those places there's no information of location :(
Is there any way to achieve what I'm trying to do (get the kind of a specific type variable in the LHS of a type family instance, where the variable is given by its position in the source code)?
Thanks in advance.