We currently allocate all type handlers for each connection, at open time. There are many rather exotic types which people will rarely use, and this seems like a memory waste - think of the relatively heavy ArrayHandler, which gets allocated for each basic type and which very few people actually use.
This would also help trimming down the road, as unused type handlers (the majority in a typical app) could get trimmed.
(note we already did this for 3.1, but went back to eager at some point)