Here's a big patch to avoid passing around type OID + typmod (+
collation) separately all over the place. Instead, there is a new
struct TypeInfo that contains these fields, and only a pointer is passed
around.
Some stuff in here (or not in here) is probably a matter of taste, as
with any such large refactoring, but in general you can see that it
saves a lot of notational overhead.