ProductTypes, Classes and PropertiesSubclassesUnions

Unions

Union types represent the disjunction of types. In conjunction with singleton types, they can be used to represent C-style enum's.
 <union> (<type>) C
 t+ (types|... => <union>) G
returns union type representing disjunction of types.
 union-elts (x|<union> => <seq>) G
types that union type matches.
 t? (type|<type> => <union>) F
== (t+ (t= #f) type) (cf., Dylan's false-or). This is often used to widen a type to include the convenient false null.


ProductTypes, Classes and PropertiesSubclassesUnions