In the template Haskell Q monad we can generate fresh Names and new declarations, but is it also possible to look up and analyze preexisting values? E.g. analyze the concrete syntax tree representation of a value whose Name we know.
I suspect the answer is “No” because the syntax tree is only available later as a Core Expr, but I was wondering how/whether others have thought about this and what workarounds are there.