gmap @Show f x everywhere @Typeable f xetc. For more information, see:
data MyType = MyType deriveGTraversable ''MyTypeIt tries to create the necessary instance constraints, but is not very smart about it For tricky types, it may fail or produce an overconstrained instance. In that case, write the instance declaration yourself and use gtraverseExpr to derive the implementation:
data MyType a = MyType instance GTraversable (MyType a) where gtraverse = $(gtraverseExpr ''MyType)