The Scrap Your Boilerplate (SYB) papers are probably the best resource for Data.Data. I'm not aware of a similar resource on GHC Generics.
I think the problem you had is that your original question is a very small fragment of the problems generics are meant to solve. For people used to generics systems (Oleg, not really me!), your question is near-trivial. But you need a decent familiarity with the whole apparatus to see how to use any of it.
(I still think 'mapQ typeOf' is likely to be the most concise solution).