How to depth-search any parameterized type?

These are contradicting each other.

In any case, there is no generalized storage for “type type parameters”, or for type parameters in general, that one would be able to inspect generically. You can either dyn_cast / TypeSwitch to a subset of types you need to handle, or introduce a type interface and have the relevant types implement it.