You can ‘mark’ any value to be optional with the (postfix) option
pair that is contained in a
struct doesn’t show up in the output and cannot be indexed. A
pair is considered optional if its key or value is optional.
The intersection of two optional values yields another optional value (that is, the intersection). Optionality is dropped when either one of the two values is optional.