::= { DeclarationStart } ::= Type Symbol Assign { VBar } | Symbol Colon DeclarationStart Symbol { Symbol } Assign ::= Symbol { } ::= [ Comma [ ] [ Aro ] ] ::= [ Comma [ ] ] ::= OpenParen CloseParen | Symbol [ OpenSquareBracket CloseSquareBracket ] ::= [ Comma [ ] ] ::= If | { } In | ::= Literal | Symbol | OpenParen CloseParen ::= Let Symbol Assign ::= Is { Comma } [ Comma ] | Then Else ::= Aro ::= { } ::= { } ::= { } ::= { } ::= { } ::= { } ::= { } ::= LOr ::= LAnd ::= Eq | NEq | LessThan | GreaterThan ::= Range ::= Add | Sub ::= Mult | Div | Mod ::= Symbol { } ::= Literal | Symbol | OpenParen CloseParen