Record Types are combining several values into a structured value similar to a
structin C. An example record definition is given by
.type Connection = [ from : Place, to : Place ]
defining values of ordered pairs of places. Each record type enumerates a list of nested, named fields and their types. Records may be nested as in
.type Cargo = [ flight : Connection, mass : weight ]
as well as recursive, as in
.type Path = [ first : Connection, rest : Path ]
Thus, a record may contain (directly or indirectly) fields of its own type.