I am working on an improvement to my query-writer package to allow it to create the __new, etc pl code using only the datamodel and a few hints, if necessary. The first visible result is a data model browser. I noticed that all date types are actually stored as timestampz types, even though the table create uses timestamp.