To support values of properties, a class includes fields to support values
in preallocated memory space and with an option data structure which
supports, in instances of the class, references to option values without
preallocation of memory space. The field and option values are accessed
in an instance object of the class using expressions of the same
syntactic form. During compilation, the compiler checks the type of an
option value against a type description within the option data structure.
Different classes may support different forms of data structures such as
a linked list or a hash table. During compilation, a method call to an
object is encoded without regard to the form of the option data
structure. An option value may be set in an option data structure from an
initialization expression which includes the name of the option value
and, as an argument, the option value.