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. | |
|