Draft: Add typeConstructorName function to template-haskell
This helper function converts a Typeable type representation to a Template Haskell type. This can be used to construct type-driven Template Haskell programs.
For example ...
data User = User ...
makeLenses @User
deriveJSON @User
rather than accepting a Name which may not be from the type namespace.
Closes #20613