@virtuous_sloth table inheritance is interesting but different from the type inheritance in CREATE TYPE ... UNDER. PostgreSQL has array-type columns but none of the other container types. It does not have methods, but I could probably get by with just stored procedures, without polymorphism. I'm pretty sure I could make PostgreSQL work, but it doesn't have the syntax I'm actually looking for.