An enum (enumeration) is a kind of Type that can have one of a finite set of values. It can be referenced by name just like any other kind of Type.
!enum followed by an Identifier declares an Enum. It has a sequence of child
name: value pairs corresponding to each possible value of the Enum.
The syntax for enumerations will likely change from
name: value to
name = value in future. Limitations in the current parser prevent parsing of the second form.
Server: Login (request <: Server.LoginData): return Server.Code !enum Code: success: 1 invalid: 2 tooManyAttempts: 3 !type LoginData: ...