How to construct a type using Meta programming?

Expr(:curly, :Tuple, :Int, :Char) works just fine to construct :(Tuple{Int, Char}), for example.

PS. Obligatory warning that metaprogramming is the wrong tool 99% of the time … but is very useful in remaining 1%.