(1) Complex objects must be supported
It must be possible to build complex objects by applying constructors to basic objects.
The minimal set of constructors are SET, TUPLE, and LIST (or ARRAY). The first two
are important because they have gained widespread acceptance as object constructors in
the relational model. The final one is important because it allows order to be modeled.
Furthermore, the manifesto requires that object constructors must be orthogonal: any
constructor should apply to any object. For example, we should be able to use not only
SET(TUPLE()) and LIST(TUPLE()) but also TUPLE(SET()) and TUPLE(LIST()).