Types and are Values
Disjunctions work for any type.
In this example we see that a floor
of some specific house has an exit on level 0 and 1, but not on any other floor.
sumstruct.cue:
// floor defines the specs of a floor in some house. floor: { level: int // the level on which this floor resides hasExit: bool // is there a door to exit the house? } // constraints on the possible values of floor. floor: { level: 0 | 1 hasExit: true } | { level: -1 | 2 | 3 hasExit: false }