Like with tables, this also requires allowing the existence of composite types with zero attributes. reviewed by KaiGai Kohei