Symbolic constants may be declared by including them in a type declaration, such as,
x : {ready, willing, able};The three symbols ready, willing and able are treated as distinct constants, which are also distinct from all the integers. A given symbolic constant may not appear in two different types. For example,
x : {foo, bar, baz}; y : {red, green, foo};is illegal, since foo appears in two distinct types. This restriction is made so that programs may be type checked.