::= "fn" "{" * "}" ::= "(" ? ")" "->" ::= ("," )* [("," )*] ::= ":" ::= ":" "=" ::= "fn" "(" ? ")" "->" "[" "]" "{" * "}"