Their subtype structure mirrors the declared inheritance relations among classes. Other scalar types do not obey any subtype structure. They are distinct, incommensurate types in ODL . Elements are referenced using subscripts. Records are named tuples of values.
Records define fields of any of the four kinds of value type.
Nested fields are referenced via dot notation. The value must differ across all instances of this record. The value need not be present. A record declaration with an opt field is considered equivalent to two declarations, one with the field, and one without it. A declaration with two opt fields is equivalent to four, and so on.