TypeLookup
The type system as something to read: dictionaries, containers and OID resolution, and nothing that writes.
This is what a converter is handed. A conversion has no business registering a codec, a converter or a type - it is running inside an execution that pinned its catalog before the first byte went out, so a registration made here could not affect the conversion it was made from, and would reach every other session on the database instead. Registration lives on TypeManager, which is reached from a session rather than from a conversion; there is no way back to one from here.
What it reads depends on where it came from: TypeManager.pinnedTo fixes it to one catalog for the length of an execution, while the one TypeManager reads through follows whatever its database's holder publishes.
Properties
Everything the driver knows about this database: dictionaries, converters and registrations, as one value.
The dictionary maintaining TypeCodec implementations.
Factory for creating container types (like composites).
The dictionary mapping PostgreSQL type names to their OIDs and vice versa.