In the JDBC binding, why is PGobject a class instead of an interface?
This is a moot issue when creating a type from scratch, but Java
contains a large number of standard classes (not interfaces) for
PKIX objects so I'm in a bind when trying to create my own JDBC
extensions. 
Specifically, some of the key mappings (no pun intended) are:
 hugeint   <-> java.language.BigInteger principal <-> java.security.Principal x509      <->
java.security.cert.X509Certificatex509_crl  <-> java.security.cert.X509CRL
 
and some additional metamappings between pkcs8 and java.security.KeyStore.
I can implement the mapping by casting between the objects and text,
but if a type extension mechanism is available it would be nice to be
able to hide those details from the user.