Simple reflection of expressions containing variables
https://twanvl.nl/blog/haskell/simple-reflection-of-expressions