next: Default Values

## Disjunctions

Disjunctions, or sum types, define a new type that is one of several things.

In the example, our Conn definition of earlier is augmented to define the possible values for protocol: "tcp" or "udp". It is an error for a concrete Conn to define anything else than these two values.

disjunctions.cue

Conn :: {
port:     int
protocol: "tcp" | "udp"
}

lossy: Conn & {
port:     8888
protocol: "udp"
}

\$ cue eval disjunctions.cue

Conn :: {
}