        Output file describing compiled parser placed in Parser.fs and Parser.fsi
------------------------
states = 
state 0:  items:    _startinteractive_line ->  . interactive_line
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 30
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto interactive_line: 1
    goto top_decl: 14
    goto nested_decl: 33
    goto nested_decl_: 38
    goto id: 442
    goto expr: 12
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 1:  items:    _startinteractive_line -> interactive_line . 
  actions:    action 'EOF' (noprec):   accept
    action 'TYPE' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'VAL' (noprec):   accept
    action 'OVER' (noprec):   accept
    action 'BRAGT' (noprec):   accept
    action 'LTKET' (noprec):   accept
    action 'BRALT' (noprec):   accept
    action 'GTKET' (noprec):   accept
    action 'HASH' (noprec):   accept
    action 'DO' (noprec):   accept
    action 'INJECT' (noprec):   accept
    action 'EJECT' (noprec):   accept
    action 'IMPLIES' (noprec):   accept
    action 'DATATYPE' (noprec):   accept
    action 'DATA' (noprec):   accept
    action 'FORALL' (noprec):   accept
    action 'BOTTOM' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'MATCH' (noprec):   accept
    action 'WHEN' (noprec):   accept
    action 'WITH' (noprec):   accept
    action 'FUNCTION' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'AS' (noprec):   accept
    action 'OF' (noprec):   accept
    action 'NAMESPACE' (noprec):   accept
    action 'OPEN' (noprec):   accept
    action 'WHERE' (noprec):   accept
    action 'OVERLOAD' (noprec):   accept
    action 'DOUBLEAMP' (noprec):   accept
    action 'DOUBLEPIPE' (noprec):   accept
    action 'UNDERSCORE' (noprec):   accept
    action 'BACKSLASH' (noprec):   accept
    action 'KIND' (noprec):   accept
    action 'QUESTION' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'CURBRA' (noprec):   accept
    action 'CURKET' (noprec):   accept
    action 'SQBRA' (noprec):   accept
    action 'SQKET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PLUSDOT' (noprec):   accept
    action 'MINUSDOT' (noprec):   accept
    action 'MOD' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'PIPE' (noprec):   accept
    action 'AMP' (noprec):   accept
    action 'BANG' (noprec):   accept
    action 'COLONGT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'COLON2' (noprec):   accept
    action 'SEMICOLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'DOT' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'ASSIGN' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'UID' (noprec):   accept
    action 'LID' (noprec):   accept
    action 'INFIX' (noprec):   accept
    action 'TICK_ID' (noprec):   accept
    action 'BACKTICK_ID' (noprec):   accept
    action 'AT_ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT32' (noprec):   accept
    action 'AT_INT32' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 2:  items:    _startexpr ->  . expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 3
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 3:  items:    _startexpr -> expr . 
  actions:    action 'EOF' (noprec):   accept
    action 'TYPE' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'VAL' (noprec):   accept
    action 'OVER' (noprec):   accept
    action 'BRAGT' (noprec):   accept
    action 'LTKET' (noprec):   accept
    action 'BRALT' (noprec):   accept
    action 'GTKET' (noprec):   accept
    action 'HASH' (noprec):   accept
    action 'DO' (noprec):   accept
    action 'INJECT' (noprec):   accept
    action 'EJECT' (noprec):   accept
    action 'IMPLIES' (noprec):   accept
    action 'DATATYPE' (noprec):   accept
    action 'DATA' (noprec):   accept
    action 'FORALL' (noprec):   accept
    action 'BOTTOM' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'MATCH' (noprec):   accept
    action 'WHEN' (noprec):   accept
    action 'WITH' (noprec):   accept
    action 'FUNCTION' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'AS' (noprec):   accept
    action 'OF' (noprec):   accept
    action 'NAMESPACE' (noprec):   accept
    action 'OPEN' (noprec):   accept
    action 'WHERE' (noprec):   accept
    action 'OVERLOAD' (noprec):   accept
    action 'DOUBLEAMP' (noprec):   accept
    action 'DOUBLEPIPE' (noprec):   accept
    action 'UNDERSCORE' (noprec):   accept
    action 'BACKSLASH' (noprec):   accept
    action 'KIND' (noprec):   accept
    action 'QUESTION' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'CURBRA' (noprec):   accept
    action 'CURKET' (noprec):   accept
    action 'SQBRA' (noprec):   accept
    action 'SQKET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PLUSDOT' (noprec):   accept
    action 'MINUSDOT' (noprec):   accept
    action 'MOD' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'PIPE' (noprec):   accept
    action 'AMP' (noprec):   accept
    action 'BANG' (noprec):   accept
    action 'COLONGT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'COLON2' (noprec):   accept
    action 'SEMICOLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'DOT' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'ASSIGN' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'UID' (noprec):   accept
    action 'LID' (noprec):   accept
    action 'INFIX' (noprec):   accept
    action 'TICK_ID' (noprec):   accept
    action 'BACKTICK_ID' (noprec):   accept
    action 'AT_ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT32' (noprec):   accept
    action 'AT_INT32' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 4:  items:    _startprogram ->  . program
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 29
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   shift 25
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto program: 5
    goto program_1: 16
    goto program_2: 20
    goto namespacee: 18
    goto top_decls: 21
    goto top_decl: 27
    goto nested_decl: 33
    goto nested_decl_: 38
state 5:  items:    _startprogram -> program . 
  actions:    action 'EOF' (noprec):   accept
    action 'TYPE' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'VAL' (noprec):   accept
    action 'OVER' (noprec):   accept
    action 'BRAGT' (noprec):   accept
    action 'LTKET' (noprec):   accept
    action 'BRALT' (noprec):   accept
    action 'GTKET' (noprec):   accept
    action 'HASH' (noprec):   accept
    action 'DO' (noprec):   accept
    action 'INJECT' (noprec):   accept
    action 'EJECT' (noprec):   accept
    action 'IMPLIES' (noprec):   accept
    action 'DATATYPE' (noprec):   accept
    action 'DATA' (noprec):   accept
    action 'FORALL' (noprec):   accept
    action 'BOTTOM' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'MATCH' (noprec):   accept
    action 'WHEN' (noprec):   accept
    action 'WITH' (noprec):   accept
    action 'FUNCTION' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'AS' (noprec):   accept
    action 'OF' (noprec):   accept
    action 'NAMESPACE' (noprec):   accept
    action 'OPEN' (noprec):   accept
    action 'WHERE' (noprec):   accept
    action 'OVERLOAD' (noprec):   accept
    action 'DOUBLEAMP' (noprec):   accept
    action 'DOUBLEPIPE' (noprec):   accept
    action 'UNDERSCORE' (noprec):   accept
    action 'BACKSLASH' (noprec):   accept
    action 'KIND' (noprec):   accept
    action 'QUESTION' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'CURBRA' (noprec):   accept
    action 'CURKET' (noprec):   accept
    action 'SQBRA' (noprec):   accept
    action 'SQKET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PLUSDOT' (noprec):   accept
    action 'MINUSDOT' (noprec):   accept
    action 'MOD' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'PIPE' (noprec):   accept
    action 'AMP' (noprec):   accept
    action 'BANG' (noprec):   accept
    action 'COLONGT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'COLON2' (noprec):   accept
    action 'SEMICOLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'DOT' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'ASSIGN' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'UID' (noprec):   accept
    action 'LID' (noprec):   accept
    action 'INFIX' (noprec):   accept
    action 'TICK_ID' (noprec):   accept
    action 'BACKTICK_ID' (noprec):   accept
    action 'AT_ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT32' (noprec):   accept
    action 'AT_INT32' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 6:  items:    _starttop_decl ->  . top_decl
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 29
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto top_decl: 7
    goto nested_decl: 33
    goto nested_decl_: 38
state 7:  items:    _starttop_decl -> top_decl . 
  actions:    action 'EOF' (noprec):   accept
    action 'TYPE' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'VAL' (noprec):   accept
    action 'OVER' (noprec):   accept
    action 'BRAGT' (noprec):   accept
    action 'LTKET' (noprec):   accept
    action 'BRALT' (noprec):   accept
    action 'GTKET' (noprec):   accept
    action 'HASH' (noprec):   accept
    action 'DO' (noprec):   accept
    action 'INJECT' (noprec):   accept
    action 'EJECT' (noprec):   accept
    action 'IMPLIES' (noprec):   accept
    action 'DATATYPE' (noprec):   accept
    action 'DATA' (noprec):   accept
    action 'FORALL' (noprec):   accept
    action 'BOTTOM' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'MATCH' (noprec):   accept
    action 'WHEN' (noprec):   accept
    action 'WITH' (noprec):   accept
    action 'FUNCTION' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'AS' (noprec):   accept
    action 'OF' (noprec):   accept
    action 'NAMESPACE' (noprec):   accept
    action 'OPEN' (noprec):   accept
    action 'WHERE' (noprec):   accept
    action 'OVERLOAD' (noprec):   accept
    action 'DOUBLEAMP' (noprec):   accept
    action 'DOUBLEPIPE' (noprec):   accept
    action 'UNDERSCORE' (noprec):   accept
    action 'BACKSLASH' (noprec):   accept
    action 'KIND' (noprec):   accept
    action 'QUESTION' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'CURBRA' (noprec):   accept
    action 'CURKET' (noprec):   accept
    action 'SQBRA' (noprec):   accept
    action 'SQKET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PLUSDOT' (noprec):   accept
    action 'MINUSDOT' (noprec):   accept
    action 'MOD' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'PIPE' (noprec):   accept
    action 'AMP' (noprec):   accept
    action 'BANG' (noprec):   accept
    action 'COLONGT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'COLON2' (noprec):   accept
    action 'SEMICOLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'DOT' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'ASSIGN' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'UID' (noprec):   accept
    action 'LID' (noprec):   accept
    action 'INFIX' (noprec):   accept
    action 'TICK_ID' (noprec):   accept
    action 'BACKTICK_ID' (noprec):   accept
    action 'AT_ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT32' (noprec):   accept
    action 'AT_INT32' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 8:  items:    _startfxty_expr ->  . fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 9
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 9:  items:    _startfxty_expr -> fxty_expr . 
  actions:    action 'EOF' (noprec):   accept
    action 'TYPE' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'VAL' (noprec):   accept
    action 'OVER' (noprec):   accept
    action 'BRAGT' (noprec):   accept
    action 'LTKET' (noprec):   accept
    action 'BRALT' (noprec):   accept
    action 'GTKET' (noprec):   accept
    action 'HASH' (noprec):   accept
    action 'DO' (noprec):   accept
    action 'INJECT' (noprec):   accept
    action 'EJECT' (noprec):   accept
    action 'IMPLIES' (noprec):   accept
    action 'DATATYPE' (noprec):   accept
    action 'DATA' (noprec):   accept
    action 'FORALL' (noprec):   accept
    action 'BOTTOM' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'MATCH' (noprec):   accept
    action 'WHEN' (noprec):   accept
    action 'WITH' (noprec):   accept
    action 'FUNCTION' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'AS' (noprec):   accept
    action 'OF' (noprec):   accept
    action 'NAMESPACE' (noprec):   accept
    action 'OPEN' (noprec):   accept
    action 'WHERE' (noprec):   accept
    action 'OVERLOAD' (noprec):   accept
    action 'DOUBLEAMP' (noprec):   accept
    action 'DOUBLEPIPE' (noprec):   accept
    action 'UNDERSCORE' (noprec):   accept
    action 'BACKSLASH' (noprec):   accept
    action 'KIND' (noprec):   accept
    action 'QUESTION' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'CURBRA' (noprec):   accept
    action 'CURKET' (noprec):   accept
    action 'SQBRA' (noprec):   accept
    action 'SQKET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PLUSDOT' (noprec):   accept
    action 'MINUSDOT' (noprec):   accept
    action 'MOD' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'PIPE' (noprec):   accept
    action 'AMP' (noprec):   accept
    action 'BANG' (noprec):   accept
    action 'COLONGT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'COLON2' (noprec):   accept
    action 'SEMICOLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'DOT' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'ASSIGN' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'UID' (noprec):   accept
    action 'LID' (noprec):   accept
    action 'INFIX' (noprec):   accept
    action 'TICK_ID' (noprec):   accept
    action 'BACKTICK_ID' (noprec):   accept
    action 'AT_ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT32' (noprec):   accept
    action 'AT_INT32' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 10:  items:    _startty_expr ->  . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 11
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 11:  items:    _startty_expr -> ty_expr . 
  actions:    action 'EOF' (noprec):   accept
    action 'TYPE' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'VAL' (noprec):   accept
    action 'OVER' (noprec):   accept
    action 'BRAGT' (noprec):   accept
    action 'LTKET' (noprec):   accept
    action 'BRALT' (noprec):   accept
    action 'GTKET' (noprec):   accept
    action 'HASH' (noprec):   accept
    action 'DO' (noprec):   accept
    action 'INJECT' (noprec):   accept
    action 'EJECT' (noprec):   accept
    action 'IMPLIES' (noprec):   accept
    action 'DATATYPE' (noprec):   accept
    action 'DATA' (noprec):   accept
    action 'FORALL' (noprec):   accept
    action 'BOTTOM' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'MATCH' (noprec):   accept
    action 'WHEN' (noprec):   accept
    action 'WITH' (noprec):   accept
    action 'FUNCTION' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'AS' (noprec):   accept
    action 'OF' (noprec):   accept
    action 'NAMESPACE' (noprec):   accept
    action 'OPEN' (noprec):   accept
    action 'WHERE' (noprec):   accept
    action 'OVERLOAD' (noprec):   accept
    action 'DOUBLEAMP' (noprec):   accept
    action 'DOUBLEPIPE' (noprec):   accept
    action 'UNDERSCORE' (noprec):   accept
    action 'BACKSLASH' (noprec):   accept
    action 'KIND' (noprec):   accept
    action 'QUESTION' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'CURBRA' (noprec):   accept
    action 'CURKET' (noprec):   accept
    action 'SQBRA' (noprec):   accept
    action 'SQKET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PLUSDOT' (noprec):   accept
    action 'MINUSDOT' (noprec):   accept
    action 'MOD' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'PIPE' (noprec):   accept
    action 'AMP' (noprec):   accept
    action 'BANG' (noprec):   accept
    action 'COLONGT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'COLON2' (noprec):   accept
    action 'SEMICOLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'DOT' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'ASSIGN' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'UID' (noprec):   accept
    action 'LID' (noprec):   accept
    action 'INFIX' (noprec):   accept
    action 'TICK_ID' (noprec):   accept
    action 'BACKTICK_ID' (noprec):   accept
    action 'AT_ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT32' (noprec):   accept
    action 'AT_INT32' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 12:  items:    interactive_line -> expr . 'SEMICOLON2'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   shift 13
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 13:  items:    interactive_line -> expr 'SEMICOLON2' . 
  actions:    action 'EOF' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'TYPE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'EQ' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'STAR' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'ARROW' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'VAL' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'OVER' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BRAGT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'LTKET' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BRALT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'GTKET' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'HASH' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'DO' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'INJECT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'EJECT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'IMPLIES' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'DATATYPE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'DATA' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'FORALL' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BOTTOM' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'LET' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'REC' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'IN' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'IF' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'THEN' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'ELSE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'FUN' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'MATCH' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'WHEN' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'WITH' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'FUNCTION' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'TRUE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'FALSE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'AS' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'OF' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'NAMESPACE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'OPEN' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'WHERE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'OVERLOAD' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'DOUBLEAMP' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'DOUBLEPIPE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'UNDERSCORE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BACKSLASH' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'KIND' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'QUESTION' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BRA' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'KET' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'CURBRA' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'CURKET' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'SQBRA' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'SQKET' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'PLUS' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'MINUS' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'SLASH' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'PLUSDOT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'MINUSDOT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'MOD' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'NEQ' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'LT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'GT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'LEQ' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'GEQ' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'AND' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'NOT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'PIPE' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'AMP' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BANG' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'COLONGT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'COLON' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'COLON2' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'SEMICOLON' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'SEMICOLON2' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'DOT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'COMMA' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'ASSIGN' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'STRING' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'UID' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'LID' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'INFIX' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'TICK_ID' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'BACKTICK_ID' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'AT_ID' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'CHAR' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'FLOAT' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'INT32' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'AT_INT32' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action 'error' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action '#' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
    action '$$' (noprec):   reduce interactive_line --> expr 'SEMICOLON2'
  immediate action:   reduce interactive_line --> expr 'SEMICOLON2'  gotos:state 14:  items:    interactive_line -> top_decl . 'SEMICOLON2'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   shift 15
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 15:  items:    interactive_line -> top_decl 'SEMICOLON2' . 
  actions:    action 'EOF' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'TYPE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'EQ' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'STAR' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'ARROW' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'VAL' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'OVER' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BRAGT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'LTKET' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BRALT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'GTKET' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'HASH' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'DO' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'INJECT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'EJECT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'IMPLIES' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'DATATYPE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'DATA' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'FORALL' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BOTTOM' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'LET' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'REC' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'IN' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'IF' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'THEN' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'ELSE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'FUN' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'MATCH' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'WHEN' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'WITH' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'FUNCTION' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'TRUE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'FALSE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'AS' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'OF' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'NAMESPACE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'OPEN' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'WHERE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'OVERLOAD' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'DOUBLEAMP' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'DOUBLEPIPE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'UNDERSCORE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BACKSLASH' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'KIND' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'QUESTION' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BRA' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'KET' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'CURBRA' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'CURKET' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'SQBRA' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'SQKET' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'PLUS' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'MINUS' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'SLASH' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'PLUSDOT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'MINUSDOT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'MOD' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'NEQ' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'LT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'GT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'LEQ' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'GEQ' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'AND' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'NOT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'PIPE' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'AMP' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BANG' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'COLONGT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'COLON' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'COLON2' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'SEMICOLON' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'SEMICOLON2' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'DOT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'COMMA' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'ASSIGN' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'STRING' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'UID' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'LID' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'INFIX' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'TICK_ID' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'BACKTICK_ID' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'AT_ID' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'CHAR' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'FLOAT' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'INT32' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'AT_INT32' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action 'error' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action '#' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
    action '$$' (noprec):   reduce interactive_line --> top_decl 'SEMICOLON2'
  immediate action:   reduce interactive_line --> top_decl 'SEMICOLON2'  gotos:state 16:  items:    program -> program_1 . 'EOF'
  actions:    action 'EOF' (noprec):   shift 17
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 17:  items:    program -> program_1 'EOF' . 
  actions:    action 'EOF' (noprec):   reduce program --> program_1 'EOF'
    action 'TYPE' (noprec):   reduce program --> program_1 'EOF'
    action 'EQ' (noprec):   reduce program --> program_1 'EOF'
    action 'STAR' (noprec):   reduce program --> program_1 'EOF'
    action 'ARROW' (noprec):   reduce program --> program_1 'EOF'
    action 'VAL' (noprec):   reduce program --> program_1 'EOF'
    action 'OVER' (noprec):   reduce program --> program_1 'EOF'
    action 'BRAGT' (noprec):   reduce program --> program_1 'EOF'
    action 'LTKET' (noprec):   reduce program --> program_1 'EOF'
    action 'BRALT' (noprec):   reduce program --> program_1 'EOF'
    action 'GTKET' (noprec):   reduce program --> program_1 'EOF'
    action 'HASH' (noprec):   reduce program --> program_1 'EOF'
    action 'DO' (noprec):   reduce program --> program_1 'EOF'
    action 'INJECT' (noprec):   reduce program --> program_1 'EOF'
    action 'EJECT' (noprec):   reduce program --> program_1 'EOF'
    action 'IMPLIES' (noprec):   reduce program --> program_1 'EOF'
    action 'DATATYPE' (noprec):   reduce program --> program_1 'EOF'
    action 'DATA' (noprec):   reduce program --> program_1 'EOF'
    action 'FORALL' (noprec):   reduce program --> program_1 'EOF'
    action 'BOTTOM' (noprec):   reduce program --> program_1 'EOF'
    action 'LET' (noprec):   reduce program --> program_1 'EOF'
    action 'REC' (noprec):   reduce program --> program_1 'EOF'
    action 'IN' (noprec):   reduce program --> program_1 'EOF'
    action 'IF' (noprec):   reduce program --> program_1 'EOF'
    action 'THEN' (noprec):   reduce program --> program_1 'EOF'
    action 'ELSE' (noprec):   reduce program --> program_1 'EOF'
    action 'FUN' (noprec):   reduce program --> program_1 'EOF'
    action 'MATCH' (noprec):   reduce program --> program_1 'EOF'
    action 'WHEN' (noprec):   reduce program --> program_1 'EOF'
    action 'WITH' (noprec):   reduce program --> program_1 'EOF'
    action 'FUNCTION' (noprec):   reduce program --> program_1 'EOF'
    action 'TRUE' (noprec):   reduce program --> program_1 'EOF'
    action 'FALSE' (noprec):   reduce program --> program_1 'EOF'
    action 'AS' (noprec):   reduce program --> program_1 'EOF'
    action 'OF' (noprec):   reduce program --> program_1 'EOF'
    action 'NAMESPACE' (noprec):   reduce program --> program_1 'EOF'
    action 'OPEN' (noprec):   reduce program --> program_1 'EOF'
    action 'WHERE' (noprec):   reduce program --> program_1 'EOF'
    action 'OVERLOAD' (noprec):   reduce program --> program_1 'EOF'
    action 'DOUBLEAMP' (noprec):   reduce program --> program_1 'EOF'
    action 'DOUBLEPIPE' (noprec):   reduce program --> program_1 'EOF'
    action 'UNDERSCORE' (noprec):   reduce program --> program_1 'EOF'
    action 'BACKSLASH' (noprec):   reduce program --> program_1 'EOF'
    action 'KIND' (noprec):   reduce program --> program_1 'EOF'
    action 'QUESTION' (noprec):   reduce program --> program_1 'EOF'
    action 'BRA' (noprec):   reduce program --> program_1 'EOF'
    action 'KET' (noprec):   reduce program --> program_1 'EOF'
    action 'CURBRA' (noprec):   reduce program --> program_1 'EOF'
    action 'CURKET' (noprec):   reduce program --> program_1 'EOF'
    action 'SQBRA' (noprec):   reduce program --> program_1 'EOF'
    action 'SQKET' (noprec):   reduce program --> program_1 'EOF'
    action 'PLUS' (noprec):   reduce program --> program_1 'EOF'
    action 'MINUS' (noprec):   reduce program --> program_1 'EOF'
    action 'SLASH' (noprec):   reduce program --> program_1 'EOF'
    action 'PLUSDOT' (noprec):   reduce program --> program_1 'EOF'
    action 'MINUSDOT' (noprec):   reduce program --> program_1 'EOF'
    action 'MOD' (noprec):   reduce program --> program_1 'EOF'
    action 'NEQ' (noprec):   reduce program --> program_1 'EOF'
    action 'LT' (noprec):   reduce program --> program_1 'EOF'
    action 'GT' (noprec):   reduce program --> program_1 'EOF'
    action 'LEQ' (noprec):   reduce program --> program_1 'EOF'
    action 'GEQ' (noprec):   reduce program --> program_1 'EOF'
    action 'AND' (noprec):   reduce program --> program_1 'EOF'
    action 'NOT' (noprec):   reduce program --> program_1 'EOF'
    action 'PIPE' (noprec):   reduce program --> program_1 'EOF'
    action 'AMP' (noprec):   reduce program --> program_1 'EOF'
    action 'BANG' (noprec):   reduce program --> program_1 'EOF'
    action 'COLONGT' (noprec):   reduce program --> program_1 'EOF'
    action 'COLON' (noprec):   reduce program --> program_1 'EOF'
    action 'COLON2' (noprec):   reduce program --> program_1 'EOF'
    action 'SEMICOLON' (noprec):   reduce program --> program_1 'EOF'
    action 'SEMICOLON2' (noprec):   reduce program --> program_1 'EOF'
    action 'DOT' (noprec):   reduce program --> program_1 'EOF'
    action 'COMMA' (noprec):   reduce program --> program_1 'EOF'
    action 'ASSIGN' (noprec):   reduce program --> program_1 'EOF'
    action 'STRING' (noprec):   reduce program --> program_1 'EOF'
    action 'UID' (noprec):   reduce program --> program_1 'EOF'
    action 'LID' (noprec):   reduce program --> program_1 'EOF'
    action 'INFIX' (noprec):   reduce program --> program_1 'EOF'
    action 'TICK_ID' (noprec):   reduce program --> program_1 'EOF'
    action 'BACKTICK_ID' (noprec):   reduce program --> program_1 'EOF'
    action 'AT_ID' (noprec):   reduce program --> program_1 'EOF'
    action 'CHAR' (noprec):   reduce program --> program_1 'EOF'
    action 'FLOAT' (noprec):   reduce program --> program_1 'EOF'
    action 'INT32' (noprec):   reduce program --> program_1 'EOF'
    action 'AT_INT32' (noprec):   reduce program --> program_1 'EOF'
    action 'error' (noprec):   reduce program --> program_1 'EOF'
    action '#' (noprec):   reduce program --> program_1 'EOF'
    action '$$' (noprec):   reduce program --> program_1 'EOF'
  immediate action:   reduce program --> program_1 'EOF'  gotos:state 18:  items:    program_1 -> namespacee . program_2
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 29
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto program_2: 19
    goto top_decls: 21
    goto top_decl: 27
    goto nested_decl: 33
    goto nested_decl_: 38
state 19:  items:    program_1 -> namespacee program_2 . 
  actions:    action 'EOF' (noprec):   reduce program_1 --> namespacee program_2
    action 'TYPE' (noprec):   reduce program_1 --> namespacee program_2
    action 'EQ' (noprec):   reduce program_1 --> namespacee program_2
    action 'STAR' (noprec):   reduce program_1 --> namespacee program_2
    action 'ARROW' (noprec):   reduce program_1 --> namespacee program_2
    action 'VAL' (noprec):   reduce program_1 --> namespacee program_2
    action 'OVER' (noprec):   reduce program_1 --> namespacee program_2
    action 'BRAGT' (noprec):   reduce program_1 --> namespacee program_2
    action 'LTKET' (noprec):   reduce program_1 --> namespacee program_2
    action 'BRALT' (noprec):   reduce program_1 --> namespacee program_2
    action 'GTKET' (noprec):   reduce program_1 --> namespacee program_2
    action 'HASH' (noprec):   reduce program_1 --> namespacee program_2
    action 'DO' (noprec):   reduce program_1 --> namespacee program_2
    action 'INJECT' (noprec):   reduce program_1 --> namespacee program_2
    action 'EJECT' (noprec):   reduce program_1 --> namespacee program_2
    action 'IMPLIES' (noprec):   reduce program_1 --> namespacee program_2
    action 'DATATYPE' (noprec):   reduce program_1 --> namespacee program_2
    action 'DATA' (noprec):   reduce program_1 --> namespacee program_2
    action 'FORALL' (noprec):   reduce program_1 --> namespacee program_2
    action 'BOTTOM' (noprec):   reduce program_1 --> namespacee program_2
    action 'LET' (noprec):   reduce program_1 --> namespacee program_2
    action 'REC' (noprec):   reduce program_1 --> namespacee program_2
    action 'IN' (noprec):   reduce program_1 --> namespacee program_2
    action 'IF' (noprec):   reduce program_1 --> namespacee program_2
    action 'THEN' (noprec):   reduce program_1 --> namespacee program_2
    action 'ELSE' (noprec):   reduce program_1 --> namespacee program_2
    action 'FUN' (noprec):   reduce program_1 --> namespacee program_2
    action 'MATCH' (noprec):   reduce program_1 --> namespacee program_2
    action 'WHEN' (noprec):   reduce program_1 --> namespacee program_2
    action 'WITH' (noprec):   reduce program_1 --> namespacee program_2
    action 'FUNCTION' (noprec):   reduce program_1 --> namespacee program_2
    action 'TRUE' (noprec):   reduce program_1 --> namespacee program_2
    action 'FALSE' (noprec):   reduce program_1 --> namespacee program_2
    action 'AS' (noprec):   reduce program_1 --> namespacee program_2
    action 'OF' (noprec):   reduce program_1 --> namespacee program_2
    action 'NAMESPACE' (noprec):   reduce program_1 --> namespacee program_2
    action 'OPEN' (noprec):   reduce program_1 --> namespacee program_2
    action 'WHERE' (noprec):   reduce program_1 --> namespacee program_2
    action 'OVERLOAD' (noprec):   reduce program_1 --> namespacee program_2
    action 'DOUBLEAMP' (noprec):   reduce program_1 --> namespacee program_2
    action 'DOUBLEPIPE' (noprec):   reduce program_1 --> namespacee program_2
    action 'UNDERSCORE' (noprec):   reduce program_1 --> namespacee program_2
    action 'BACKSLASH' (noprec):   reduce program_1 --> namespacee program_2
    action 'KIND' (noprec):   reduce program_1 --> namespacee program_2
    action 'QUESTION' (noprec):   reduce program_1 --> namespacee program_2
    action 'BRA' (noprec):   reduce program_1 --> namespacee program_2
    action 'KET' (noprec):   reduce program_1 --> namespacee program_2
    action 'CURBRA' (noprec):   reduce program_1 --> namespacee program_2
    action 'CURKET' (noprec):   reduce program_1 --> namespacee program_2
    action 'SQBRA' (noprec):   reduce program_1 --> namespacee program_2
    action 'SQKET' (noprec):   reduce program_1 --> namespacee program_2
    action 'PLUS' (noprec):   reduce program_1 --> namespacee program_2
    action 'MINUS' (noprec):   reduce program_1 --> namespacee program_2
    action 'SLASH' (noprec):   reduce program_1 --> namespacee program_2
    action 'PLUSDOT' (noprec):   reduce program_1 --> namespacee program_2
    action 'MINUSDOT' (noprec):   reduce program_1 --> namespacee program_2
    action 'MOD' (noprec):   reduce program_1 --> namespacee program_2
    action 'NEQ' (noprec):   reduce program_1 --> namespacee program_2
    action 'LT' (noprec):   reduce program_1 --> namespacee program_2
    action 'GT' (noprec):   reduce program_1 --> namespacee program_2
    action 'LEQ' (noprec):   reduce program_1 --> namespacee program_2
    action 'GEQ' (noprec):   reduce program_1 --> namespacee program_2
    action 'AND' (noprec):   reduce program_1 --> namespacee program_2
    action 'NOT' (noprec):   reduce program_1 --> namespacee program_2
    action 'PIPE' (noprec):   reduce program_1 --> namespacee program_2
    action 'AMP' (noprec):   reduce program_1 --> namespacee program_2
    action 'BANG' (noprec):   reduce program_1 --> namespacee program_2
    action 'COLONGT' (noprec):   reduce program_1 --> namespacee program_2
    action 'COLON' (noprec):   reduce program_1 --> namespacee program_2
    action 'COLON2' (noprec):   reduce program_1 --> namespacee program_2
    action 'SEMICOLON' (noprec):   reduce program_1 --> namespacee program_2
    action 'SEMICOLON2' (noprec):   reduce program_1 --> namespacee program_2
    action 'DOT' (noprec):   reduce program_1 --> namespacee program_2
    action 'COMMA' (noprec):   reduce program_1 --> namespacee program_2
    action 'ASSIGN' (noprec):   reduce program_1 --> namespacee program_2
    action 'STRING' (noprec):   reduce program_1 --> namespacee program_2
    action 'UID' (noprec):   reduce program_1 --> namespacee program_2
    action 'LID' (noprec):   reduce program_1 --> namespacee program_2
    action 'INFIX' (noprec):   reduce program_1 --> namespacee program_2
    action 'TICK_ID' (noprec):   reduce program_1 --> namespacee program_2
    action 'BACKTICK_ID' (noprec):   reduce program_1 --> namespacee program_2
    action 'AT_ID' (noprec):   reduce program_1 --> namespacee program_2
    action 'CHAR' (noprec):   reduce program_1 --> namespacee program_2
    action 'FLOAT' (noprec):   reduce program_1 --> namespacee program_2
    action 'INT32' (noprec):   reduce program_1 --> namespacee program_2
    action 'AT_INT32' (noprec):   reduce program_1 --> namespacee program_2
    action 'error' (noprec):   reduce program_1 --> namespacee program_2
    action '#' (noprec):   reduce program_1 --> namespacee program_2
    action '$$' (noprec):   reduce program_1 --> namespacee program_2
  immediate action:   reduce program_1 --> namespacee program_2  gotos:state 20:  items:    program_1 -> program_2 . 
  actions:    action 'EOF' (noprec):   reduce program_1 --> program_2
    action 'TYPE' (noprec):   reduce program_1 --> program_2
    action 'EQ' (noprec):   reduce program_1 --> program_2
    action 'STAR' (noprec):   reduce program_1 --> program_2
    action 'ARROW' (noprec):   reduce program_1 --> program_2
    action 'VAL' (noprec):   reduce program_1 --> program_2
    action 'OVER' (noprec):   reduce program_1 --> program_2
    action 'BRAGT' (noprec):   reduce program_1 --> program_2
    action 'LTKET' (noprec):   reduce program_1 --> program_2
    action 'BRALT' (noprec):   reduce program_1 --> program_2
    action 'GTKET' (noprec):   reduce program_1 --> program_2
    action 'HASH' (noprec):   reduce program_1 --> program_2
    action 'DO' (noprec):   reduce program_1 --> program_2
    action 'INJECT' (noprec):   reduce program_1 --> program_2
    action 'EJECT' (noprec):   reduce program_1 --> program_2
    action 'IMPLIES' (noprec):   reduce program_1 --> program_2
    action 'DATATYPE' (noprec):   reduce program_1 --> program_2
    action 'DATA' (noprec):   reduce program_1 --> program_2
    action 'FORALL' (noprec):   reduce program_1 --> program_2
    action 'BOTTOM' (noprec):   reduce program_1 --> program_2
    action 'LET' (noprec):   reduce program_1 --> program_2
    action 'REC' (noprec):   reduce program_1 --> program_2
    action 'IN' (noprec):   reduce program_1 --> program_2
    action 'IF' (noprec):   reduce program_1 --> program_2
    action 'THEN' (noprec):   reduce program_1 --> program_2
    action 'ELSE' (noprec):   reduce program_1 --> program_2
    action 'FUN' (noprec):   reduce program_1 --> program_2
    action 'MATCH' (noprec):   reduce program_1 --> program_2
    action 'WHEN' (noprec):   reduce program_1 --> program_2
    action 'WITH' (noprec):   reduce program_1 --> program_2
    action 'FUNCTION' (noprec):   reduce program_1 --> program_2
    action 'TRUE' (noprec):   reduce program_1 --> program_2
    action 'FALSE' (noprec):   reduce program_1 --> program_2
    action 'AS' (noprec):   reduce program_1 --> program_2
    action 'OF' (noprec):   reduce program_1 --> program_2
    action 'NAMESPACE' (noprec):   reduce program_1 --> program_2
    action 'OPEN' (noprec):   reduce program_1 --> program_2
    action 'WHERE' (noprec):   reduce program_1 --> program_2
    action 'OVERLOAD' (noprec):   reduce program_1 --> program_2
    action 'DOUBLEAMP' (noprec):   reduce program_1 --> program_2
    action 'DOUBLEPIPE' (noprec):   reduce program_1 --> program_2
    action 'UNDERSCORE' (noprec):   reduce program_1 --> program_2
    action 'BACKSLASH' (noprec):   reduce program_1 --> program_2
    action 'KIND' (noprec):   reduce program_1 --> program_2
    action 'QUESTION' (noprec):   reduce program_1 --> program_2
    action 'BRA' (noprec):   reduce program_1 --> program_2
    action 'KET' (noprec):   reduce program_1 --> program_2
    action 'CURBRA' (noprec):   reduce program_1 --> program_2
    action 'CURKET' (noprec):   reduce program_1 --> program_2
    action 'SQBRA' (noprec):   reduce program_1 --> program_2
    action 'SQKET' (noprec):   reduce program_1 --> program_2
    action 'PLUS' (noprec):   reduce program_1 --> program_2
    action 'MINUS' (noprec):   reduce program_1 --> program_2
    action 'SLASH' (noprec):   reduce program_1 --> program_2
    action 'PLUSDOT' (noprec):   reduce program_1 --> program_2
    action 'MINUSDOT' (noprec):   reduce program_1 --> program_2
    action 'MOD' (noprec):   reduce program_1 --> program_2
    action 'NEQ' (noprec):   reduce program_1 --> program_2
    action 'LT' (noprec):   reduce program_1 --> program_2
    action 'GT' (noprec):   reduce program_1 --> program_2
    action 'LEQ' (noprec):   reduce program_1 --> program_2
    action 'GEQ' (noprec):   reduce program_1 --> program_2
    action 'AND' (noprec):   reduce program_1 --> program_2
    action 'NOT' (noprec):   reduce program_1 --> program_2
    action 'PIPE' (noprec):   reduce program_1 --> program_2
    action 'AMP' (noprec):   reduce program_1 --> program_2
    action 'BANG' (noprec):   reduce program_1 --> program_2
    action 'COLONGT' (noprec):   reduce program_1 --> program_2
    action 'COLON' (noprec):   reduce program_1 --> program_2
    action 'COLON2' (noprec):   reduce program_1 --> program_2
    action 'SEMICOLON' (noprec):   reduce program_1 --> program_2
    action 'SEMICOLON2' (noprec):   reduce program_1 --> program_2
    action 'DOT' (noprec):   reduce program_1 --> program_2
    action 'COMMA' (noprec):   reduce program_1 --> program_2
    action 'ASSIGN' (noprec):   reduce program_1 --> program_2
    action 'STRING' (noprec):   reduce program_1 --> program_2
    action 'UID' (noprec):   reduce program_1 --> program_2
    action 'LID' (noprec):   reduce program_1 --> program_2
    action 'INFIX' (noprec):   reduce program_1 --> program_2
    action 'TICK_ID' (noprec):   reduce program_1 --> program_2
    action 'BACKTICK_ID' (noprec):   reduce program_1 --> program_2
    action 'AT_ID' (noprec):   reduce program_1 --> program_2
    action 'CHAR' (noprec):   reduce program_1 --> program_2
    action 'FLOAT' (noprec):   reduce program_1 --> program_2
    action 'INT32' (noprec):   reduce program_1 --> program_2
    action 'AT_INT32' (noprec):   reduce program_1 --> program_2
    action 'error' (noprec):   reduce program_1 --> program_2
    action '#' (noprec):   reduce program_1 --> program_2
    action '$$' (noprec):   reduce program_1 --> program_2
  immediate action:   reduce program_1 --> program_2  gotos:state 21:  items:    program_2 -> top_decls . 
    program_2 -> top_decls . program_3
  actions:    action 'EOF' (noprec):   reduce program_2 --> top_decls
    action 'TYPE' (noprec):   reduce program_2 --> top_decls
    action 'EQ' (noprec):   reduce program_2 --> top_decls
    action 'STAR' (noprec):   reduce program_2 --> top_decls
    action 'ARROW' (noprec):   reduce program_2 --> top_decls
    action 'VAL' (noprec):   reduce program_2 --> top_decls
    action 'OVER' (noprec):   reduce program_2 --> top_decls
    action 'BRAGT' (noprec):   reduce program_2 --> top_decls
    action 'LTKET' (noprec):   reduce program_2 --> top_decls
    action 'BRALT' (noprec):   reduce program_2 --> top_decls
    action 'GTKET' (noprec):   reduce program_2 --> top_decls
    action 'HASH' (noprec):   reduce program_2 --> top_decls
    action 'DO' (noprec):   reduce program_2 --> top_decls
    action 'INJECT' (noprec):   reduce program_2 --> top_decls
    action 'EJECT' (noprec):   reduce program_2 --> top_decls
    action 'IMPLIES' (noprec):   reduce program_2 --> top_decls
    action 'DATATYPE' (noprec):   reduce program_2 --> top_decls
    action 'DATA' (noprec):   reduce program_2 --> top_decls
    action 'FORALL' (noprec):   reduce program_2 --> top_decls
    action 'BOTTOM' (noprec):   reduce program_2 --> top_decls
    action 'LET' (noprec):   reduce program_2 --> top_decls
    action 'REC' (noprec):   reduce program_2 --> top_decls
    action 'IN' (noprec):   reduce program_2 --> top_decls
    action 'IF' (noprec):   reduce program_2 --> top_decls
    action 'THEN' (noprec):   reduce program_2 --> top_decls
    action 'ELSE' (noprec):   reduce program_2 --> top_decls
    action 'FUN' (noprec):   reduce program_2 --> top_decls
    action 'MATCH' (noprec):   reduce program_2 --> top_decls
    action 'WHEN' (noprec):   reduce program_2 --> top_decls
    action 'WITH' (noprec):   reduce program_2 --> top_decls
    action 'FUNCTION' (noprec):   reduce program_2 --> top_decls
    action 'TRUE' (noprec):   reduce program_2 --> top_decls
    action 'FALSE' (noprec):   reduce program_2 --> top_decls
    action 'AS' (noprec):   reduce program_2 --> top_decls
    action 'OF' (noprec):   reduce program_2 --> top_decls
    action 'NAMESPACE' (noprec):   reduce program_2 --> top_decls
    action 'OPEN' (noprec):   reduce program_2 --> top_decls
    action 'WHERE' (noprec):   reduce program_2 --> top_decls
    action 'OVERLOAD' (noprec):   reduce program_2 --> top_decls
    action 'DOUBLEAMP' (noprec):   reduce program_2 --> top_decls
    action 'DOUBLEPIPE' (noprec):   reduce program_2 --> top_decls
    action 'UNDERSCORE' (noprec):   reduce program_2 --> top_decls
    action 'BACKSLASH' (noprec):   reduce program_2 --> top_decls
    action 'KIND' (noprec):   reduce program_2 --> top_decls
    action 'QUESTION' (noprec):   reduce program_2 --> top_decls
    action 'BRA' (noprec):   reduce program_2 --> top_decls
    action 'KET' (noprec):   reduce program_2 --> top_decls
    action 'CURBRA' (noprec):   reduce program_2 --> top_decls
    action 'CURKET' (noprec):   reduce program_2 --> top_decls
    action 'SQBRA' (noprec):   reduce program_2 --> top_decls
    action 'SQKET' (noprec):   reduce program_2 --> top_decls
    action 'PLUS' (noprec):   reduce program_2 --> top_decls
    action 'MINUS' (noprec):   reduce program_2 --> top_decls
    action 'SLASH' (noprec):   reduce program_2 --> top_decls
    action 'PLUSDOT' (noprec):   reduce program_2 --> top_decls
    action 'MINUSDOT' (noprec):   reduce program_2 --> top_decls
    action 'MOD' (noprec):   reduce program_2 --> top_decls
    action 'NEQ' (noprec):   reduce program_2 --> top_decls
    action 'LT' (noprec):   reduce program_2 --> top_decls
    action 'GT' (noprec):   reduce program_2 --> top_decls
    action 'LEQ' (noprec):   reduce program_2 --> top_decls
    action 'GEQ' (noprec):   reduce program_2 --> top_decls
    action 'AND' (noprec):   reduce program_2 --> top_decls
    action 'NOT' (noprec):   reduce program_2 --> top_decls
    action 'PIPE' (noprec):   reduce program_2 --> top_decls
    action 'AMP' (noprec):   reduce program_2 --> top_decls
    action 'BANG' (noprec):   reduce program_2 --> top_decls
    action 'COLONGT' (noprec):   reduce program_2 --> top_decls
    action 'COLON' (noprec):   reduce program_2 --> top_decls
    action 'COLON2' (noprec):   reduce program_2 --> top_decls
    action 'SEMICOLON' (noprec):   reduce program_2 --> top_decls
    action 'SEMICOLON2' (noprec):   shift 23
    action 'DOT' (noprec):   reduce program_2 --> top_decls
    action 'COMMA' (noprec):   reduce program_2 --> top_decls
    action 'ASSIGN' (noprec):   reduce program_2 --> top_decls
    action 'STRING' (noprec):   reduce program_2 --> top_decls
    action 'UID' (noprec):   reduce program_2 --> top_decls
    action 'LID' (noprec):   reduce program_2 --> top_decls
    action 'INFIX' (noprec):   reduce program_2 --> top_decls
    action 'TICK_ID' (noprec):   reduce program_2 --> top_decls
    action 'BACKTICK_ID' (noprec):   reduce program_2 --> top_decls
    action 'AT_ID' (noprec):   reduce program_2 --> top_decls
    action 'CHAR' (noprec):   reduce program_2 --> top_decls
    action 'FLOAT' (noprec):   reduce program_2 --> top_decls
    action 'INT32' (noprec):   reduce program_2 --> top_decls
    action 'AT_INT32' (noprec):   reduce program_2 --> top_decls
    action 'error' (noprec):   reduce program_2 --> top_decls
    action '#' (noprec):   reduce program_2 --> top_decls
    action '$$' (noprec):   reduce program_2 --> top_decls
  immediate action: <none>  gotos:    goto program_3: 22
state 22:  items:    program_2 -> top_decls program_3 . 
  actions:    action 'EOF' (noprec):   reduce program_2 --> top_decls program_3
    action 'TYPE' (noprec):   reduce program_2 --> top_decls program_3
    action 'EQ' (noprec):   reduce program_2 --> top_decls program_3
    action 'STAR' (noprec):   reduce program_2 --> top_decls program_3
    action 'ARROW' (noprec):   reduce program_2 --> top_decls program_3
    action 'VAL' (noprec):   reduce program_2 --> top_decls program_3
    action 'OVER' (noprec):   reduce program_2 --> top_decls program_3
    action 'BRAGT' (noprec):   reduce program_2 --> top_decls program_3
    action 'LTKET' (noprec):   reduce program_2 --> top_decls program_3
    action 'BRALT' (noprec):   reduce program_2 --> top_decls program_3
    action 'GTKET' (noprec):   reduce program_2 --> top_decls program_3
    action 'HASH' (noprec):   reduce program_2 --> top_decls program_3
    action 'DO' (noprec):   reduce program_2 --> top_decls program_3
    action 'INJECT' (noprec):   reduce program_2 --> top_decls program_3
    action 'EJECT' (noprec):   reduce program_2 --> top_decls program_3
    action 'IMPLIES' (noprec):   reduce program_2 --> top_decls program_3
    action 'DATATYPE' (noprec):   reduce program_2 --> top_decls program_3
    action 'DATA' (noprec):   reduce program_2 --> top_decls program_3
    action 'FORALL' (noprec):   reduce program_2 --> top_decls program_3
    action 'BOTTOM' (noprec):   reduce program_2 --> top_decls program_3
    action 'LET' (noprec):   reduce program_2 --> top_decls program_3
    action 'REC' (noprec):   reduce program_2 --> top_decls program_3
    action 'IN' (noprec):   reduce program_2 --> top_decls program_3
    action 'IF' (noprec):   reduce program_2 --> top_decls program_3
    action 'THEN' (noprec):   reduce program_2 --> top_decls program_3
    action 'ELSE' (noprec):   reduce program_2 --> top_decls program_3
    action 'FUN' (noprec):   reduce program_2 --> top_decls program_3
    action 'MATCH' (noprec):   reduce program_2 --> top_decls program_3
    action 'WHEN' (noprec):   reduce program_2 --> top_decls program_3
    action 'WITH' (noprec):   reduce program_2 --> top_decls program_3
    action 'FUNCTION' (noprec):   reduce program_2 --> top_decls program_3
    action 'TRUE' (noprec):   reduce program_2 --> top_decls program_3
    action 'FALSE' (noprec):   reduce program_2 --> top_decls program_3
    action 'AS' (noprec):   reduce program_2 --> top_decls program_3
    action 'OF' (noprec):   reduce program_2 --> top_decls program_3
    action 'NAMESPACE' (noprec):   reduce program_2 --> top_decls program_3
    action 'OPEN' (noprec):   reduce program_2 --> top_decls program_3
    action 'WHERE' (noprec):   reduce program_2 --> top_decls program_3
    action 'OVERLOAD' (noprec):   reduce program_2 --> top_decls program_3
    action 'DOUBLEAMP' (noprec):   reduce program_2 --> top_decls program_3
    action 'DOUBLEPIPE' (noprec):   reduce program_2 --> top_decls program_3
    action 'UNDERSCORE' (noprec):   reduce program_2 --> top_decls program_3
    action 'BACKSLASH' (noprec):   reduce program_2 --> top_decls program_3
    action 'KIND' (noprec):   reduce program_2 --> top_decls program_3
    action 'QUESTION' (noprec):   reduce program_2 --> top_decls program_3
    action 'BRA' (noprec):   reduce program_2 --> top_decls program_3
    action 'KET' (noprec):   reduce program_2 --> top_decls program_3
    action 'CURBRA' (noprec):   reduce program_2 --> top_decls program_3
    action 'CURKET' (noprec):   reduce program_2 --> top_decls program_3
    action 'SQBRA' (noprec):   reduce program_2 --> top_decls program_3
    action 'SQKET' (noprec):   reduce program_2 --> top_decls program_3
    action 'PLUS' (noprec):   reduce program_2 --> top_decls program_3
    action 'MINUS' (noprec):   reduce program_2 --> top_decls program_3
    action 'SLASH' (noprec):   reduce program_2 --> top_decls program_3
    action 'PLUSDOT' (noprec):   reduce program_2 --> top_decls program_3
    action 'MINUSDOT' (noprec):   reduce program_2 --> top_decls program_3
    action 'MOD' (noprec):   reduce program_2 --> top_decls program_3
    action 'NEQ' (noprec):   reduce program_2 --> top_decls program_3
    action 'LT' (noprec):   reduce program_2 --> top_decls program_3
    action 'GT' (noprec):   reduce program_2 --> top_decls program_3
    action 'LEQ' (noprec):   reduce program_2 --> top_decls program_3
    action 'GEQ' (noprec):   reduce program_2 --> top_decls program_3
    action 'AND' (noprec):   reduce program_2 --> top_decls program_3
    action 'NOT' (noprec):   reduce program_2 --> top_decls program_3
    action 'PIPE' (noprec):   reduce program_2 --> top_decls program_3
    action 'AMP' (noprec):   reduce program_2 --> top_decls program_3
    action 'BANG' (noprec):   reduce program_2 --> top_decls program_3
    action 'COLONGT' (noprec):   reduce program_2 --> top_decls program_3
    action 'COLON' (noprec):   reduce program_2 --> top_decls program_3
    action 'COLON2' (noprec):   reduce program_2 --> top_decls program_3
    action 'SEMICOLON' (noprec):   reduce program_2 --> top_decls program_3
    action 'SEMICOLON2' (noprec):   reduce program_2 --> top_decls program_3
    action 'DOT' (noprec):   reduce program_2 --> top_decls program_3
    action 'COMMA' (noprec):   reduce program_2 --> top_decls program_3
    action 'ASSIGN' (noprec):   reduce program_2 --> top_decls program_3
    action 'STRING' (noprec):   reduce program_2 --> top_decls program_3
    action 'UID' (noprec):   reduce program_2 --> top_decls program_3
    action 'LID' (noprec):   reduce program_2 --> top_decls program_3
    action 'INFIX' (noprec):   reduce program_2 --> top_decls program_3
    action 'TICK_ID' (noprec):   reduce program_2 --> top_decls program_3
    action 'BACKTICK_ID' (noprec):   reduce program_2 --> top_decls program_3
    action 'AT_ID' (noprec):   reduce program_2 --> top_decls program_3
    action 'CHAR' (noprec):   reduce program_2 --> top_decls program_3
    action 'FLOAT' (noprec):   reduce program_2 --> top_decls program_3
    action 'INT32' (noprec):   reduce program_2 --> top_decls program_3
    action 'AT_INT32' (noprec):   reduce program_2 --> top_decls program_3
    action 'error' (noprec):   reduce program_2 --> top_decls program_3
    action '#' (noprec):   reduce program_2 --> top_decls program_3
    action '$$' (noprec):   reduce program_2 --> top_decls program_3
  immediate action:   reduce program_2 --> top_decls program_3  gotos:state 23:  items:    program_3 -> 'SEMICOLON2' . 
    program_3 -> 'SEMICOLON2' . expr
  actions:    action 'EOF' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'TYPE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'EQ' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'STAR' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'ARROW' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'BRAGT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'LTKET' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'BRALT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'GTKET' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'HASH' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'DATATYPE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'DATA' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'FORALL' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'BOTTOM' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'IN' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'ELSE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'WITH' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'OF' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'NAMESPACE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'OPEN' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'WHERE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'OVERLOAD' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'DOUBLEAMP' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'DOUBLEPIPE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'UNDERSCORE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'BACKSLASH' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'KIND' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'QUESTION' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'PLUS' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'PLUSDOT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'MINUSDOT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'MOD' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'NEQ' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'LT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'GT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'LEQ' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'GEQ' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'AND' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'AMP' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'BANG' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'COLONGT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'COLON' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'COLON2' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'SEMICOLON' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'SEMICOLON2' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'DOT' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'COMMA' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'ASSIGN' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action '#' (noprec):   reduce program_3 --> 'SEMICOLON2'
    action '$$' (noprec):   reduce program_3 --> 'SEMICOLON2'
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 24
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 24:  items:    program_3 -> 'SEMICOLON2' expr . 
  actions:    action 'EOF' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'TYPE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'EQ' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'STAR' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'ARROW' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'VAL' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'OVER' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BRAGT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'LTKET' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BRALT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'GTKET' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'HASH' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'DO' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'INJECT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'EJECT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'IMPLIES' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'DATATYPE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'DATA' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'FORALL' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BOTTOM' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'LET' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'REC' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'IN' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'IF' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'THEN' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'ELSE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'FUN' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'MATCH' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'WHEN' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'WITH' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'FUNCTION' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'TRUE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'FALSE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'AS' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'OF' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'NAMESPACE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'OPEN' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'WHERE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'OVERLOAD' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'DOUBLEAMP' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'DOUBLEPIPE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'UNDERSCORE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BACKSLASH' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'KIND' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'QUESTION' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BRA' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'KET' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'CURBRA' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'CURKET' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'SQBRA' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'SQKET' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'PLUS' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'MINUS' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'SLASH' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'PLUSDOT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'MINUSDOT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'MOD' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'NEQ' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'LT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'GT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'LEQ' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'GEQ' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'AND' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'NOT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'PIPE' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'AMP' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BANG' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'COLONGT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'COLON' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'COLON2' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'SEMICOLON' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'SEMICOLON2' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'DOT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'COMMA' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'ASSIGN' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'STRING' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'UID' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'LID' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'INFIX' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'TICK_ID' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'BACKTICK_ID' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'AT_ID' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'CHAR' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'FLOAT' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'INT32' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'AT_INT32' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action 'error' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action '#' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
    action '$$' (noprec):   reduce program_3 --> 'SEMICOLON2' expr
  immediate action:   reduce program_3 --> 'SEMICOLON2' expr  gotos:state 25:  items:    namespacee -> 'NAMESPACE' . id
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 26
state 26:  items:    namespacee -> 'NAMESPACE' id . 
  actions:    action 'EOF' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'TYPE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'EQ' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'STAR' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'ARROW' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'VAL' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'OVER' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BRAGT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'LTKET' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BRALT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'GTKET' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'HASH' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'DO' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'INJECT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'EJECT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'IMPLIES' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'DATATYPE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'DATA' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'FORALL' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BOTTOM' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'LET' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'REC' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'IN' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'IF' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'THEN' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'ELSE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'FUN' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'MATCH' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'WHEN' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'WITH' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'FUNCTION' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'TRUE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'FALSE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'AS' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'OF' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'NAMESPACE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'OPEN' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'WHERE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'OVERLOAD' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'DOUBLEAMP' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'DOUBLEPIPE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'UNDERSCORE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BACKSLASH' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'KIND' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'QUESTION' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BRA' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'KET' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'CURBRA' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'CURKET' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'SQBRA' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'SQKET' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'PLUS' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'MINUS' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'SLASH' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'PLUSDOT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'MINUSDOT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'MOD' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'NEQ' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'LT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'GT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'LEQ' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'GEQ' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'AND' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'NOT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'PIPE' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'AMP' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BANG' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'COLONGT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'COLON' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'COLON2' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'SEMICOLON' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'SEMICOLON2' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'DOT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'COMMA' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'ASSIGN' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'STRING' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'UID' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'LID' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'INFIX' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'TICK_ID' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'BACKTICK_ID' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'AT_ID' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'CHAR' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'FLOAT' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'INT32' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'AT_INT32' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action 'error' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action '#' (noprec):   reduce namespacee --> 'NAMESPACE' id
    action '$$' (noprec):   reduce namespacee --> 'NAMESPACE' id
  immediate action:   reduce namespacee --> 'NAMESPACE' id  gotos:state 27:  items:    top_decls -> top_decl . 
    top_decls -> top_decl . top_decls
  actions:    action 'EOF' (noprec):   reduce top_decls --> top_decl
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   reduce top_decls --> top_decl
    action 'STAR' (noprec):   reduce top_decls --> top_decl
    action 'ARROW' (noprec):   reduce top_decls --> top_decl
    action 'VAL' (noprec):   reduce top_decls --> top_decl
    action 'OVER' (noprec):   reduce top_decls --> top_decl
    action 'BRAGT' (noprec):   reduce top_decls --> top_decl
    action 'LTKET' (noprec):   reduce top_decls --> top_decl
    action 'BRALT' (noprec):   reduce top_decls --> top_decl
    action 'GTKET' (noprec):   reduce top_decls --> top_decl
    action 'HASH' (noprec):   reduce top_decls --> top_decl
    action 'DO' (noprec):   reduce top_decls --> top_decl
    action 'INJECT' (noprec):   reduce top_decls --> top_decl
    action 'EJECT' (noprec):   reduce top_decls --> top_decl
    action 'IMPLIES' (noprec):   reduce top_decls --> top_decl
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   reduce top_decls --> top_decl
    action 'FORALL' (noprec):   reduce top_decls --> top_decl
    action 'BOTTOM' (noprec):   reduce top_decls --> top_decl
    action 'LET' (noprec):   shift 29
    action 'REC' (noprec):   reduce top_decls --> top_decl
    action 'IN' (noprec):   reduce top_decls --> top_decl
    action 'IF' (noprec):   reduce top_decls --> top_decl
    action 'THEN' (noprec):   reduce top_decls --> top_decl
    action 'ELSE' (noprec):   reduce top_decls --> top_decl
    action 'FUN' (noprec):   reduce top_decls --> top_decl
    action 'MATCH' (noprec):   reduce top_decls --> top_decl
    action 'WHEN' (noprec):   reduce top_decls --> top_decl
    action 'WITH' (noprec):   reduce top_decls --> top_decl
    action 'FUNCTION' (noprec):   reduce top_decls --> top_decl
    action 'TRUE' (noprec):   reduce top_decls --> top_decl
    action 'FALSE' (noprec):   reduce top_decls --> top_decl
    action 'AS' (noprec):   reduce top_decls --> top_decl
    action 'OF' (noprec):   reduce top_decls --> top_decl
    action 'NAMESPACE' (noprec):   reduce top_decls --> top_decl
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   reduce top_decls --> top_decl
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   reduce top_decls --> top_decl
    action 'DOUBLEPIPE' (noprec):   reduce top_decls --> top_decl
    action 'UNDERSCORE' (noprec):   reduce top_decls --> top_decl
    action 'BACKSLASH' (noprec):   reduce top_decls --> top_decl
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   reduce top_decls --> top_decl
    action 'BRA' (noprec):   reduce top_decls --> top_decl
    action 'KET' (noprec):   reduce top_decls --> top_decl
    action 'CURBRA' (noprec):   reduce top_decls --> top_decl
    action 'CURKET' (noprec):   reduce top_decls --> top_decl
    action 'SQBRA' (noprec):   reduce top_decls --> top_decl
    action 'SQKET' (noprec):   reduce top_decls --> top_decl
    action 'PLUS' (noprec):   reduce top_decls --> top_decl
    action 'MINUS' (noprec):   reduce top_decls --> top_decl
    action 'SLASH' (noprec):   reduce top_decls --> top_decl
    action 'PLUSDOT' (noprec):   reduce top_decls --> top_decl
    action 'MINUSDOT' (noprec):   reduce top_decls --> top_decl
    action 'MOD' (noprec):   reduce top_decls --> top_decl
    action 'NEQ' (noprec):   reduce top_decls --> top_decl
    action 'LT' (noprec):   reduce top_decls --> top_decl
    action 'GT' (noprec):   reduce top_decls --> top_decl
    action 'LEQ' (noprec):   reduce top_decls --> top_decl
    action 'GEQ' (noprec):   reduce top_decls --> top_decl
    action 'AND' (noprec):   reduce top_decls --> top_decl
    action 'NOT' (noprec):   reduce top_decls --> top_decl
    action 'PIPE' (noprec):   reduce top_decls --> top_decl
    action 'AMP' (noprec):   reduce top_decls --> top_decl
    action 'BANG' (noprec):   reduce top_decls --> top_decl
    action 'COLONGT' (noprec):   reduce top_decls --> top_decl
    action 'COLON' (noprec):   reduce top_decls --> top_decl
    action 'COLON2' (noprec):   reduce top_decls --> top_decl
    action 'SEMICOLON' (noprec):   reduce top_decls --> top_decl
    action 'SEMICOLON2' (noprec):   reduce top_decls --> top_decl
    action 'DOT' (noprec):   reduce top_decls --> top_decl
    action 'COMMA' (noprec):   reduce top_decls --> top_decl
    action 'ASSIGN' (noprec):   reduce top_decls --> top_decl
    action 'STRING' (noprec):   reduce top_decls --> top_decl
    action 'UID' (noprec):   reduce top_decls --> top_decl
    action 'LID' (noprec):   reduce top_decls --> top_decl
    action 'INFIX' (noprec):   reduce top_decls --> top_decl
    action 'TICK_ID' (noprec):   reduce top_decls --> top_decl
    action 'BACKTICK_ID' (noprec):   reduce top_decls --> top_decl
    action 'AT_ID' (noprec):   reduce top_decls --> top_decl
    action 'CHAR' (noprec):   reduce top_decls --> top_decl
    action 'FLOAT' (noprec):   reduce top_decls --> top_decl
    action 'INT32' (noprec):   reduce top_decls --> top_decl
    action 'AT_INT32' (noprec):   reduce top_decls --> top_decl
    action 'error' (noprec):   reduce top_decls --> top_decl
    action '#' (noprec):   reduce top_decls --> top_decl
    action '$$' (noprec):   reduce top_decls --> top_decl
  immediate action: <none>  gotos:    goto top_decls: 28
    goto top_decl: 27
    goto nested_decl: 33
    goto nested_decl_: 38
state 28:  items:    top_decls -> top_decl top_decls . 
  actions:    action 'EOF' (noprec):   reduce top_decls --> top_decl top_decls
    action 'TYPE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'EQ' (noprec):   reduce top_decls --> top_decl top_decls
    action 'STAR' (noprec):   reduce top_decls --> top_decl top_decls
    action 'ARROW' (noprec):   reduce top_decls --> top_decl top_decls
    action 'VAL' (noprec):   reduce top_decls --> top_decl top_decls
    action 'OVER' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BRAGT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'LTKET' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BRALT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'GTKET' (noprec):   reduce top_decls --> top_decl top_decls
    action 'HASH' (noprec):   reduce top_decls --> top_decl top_decls
    action 'DO' (noprec):   reduce top_decls --> top_decl top_decls
    action 'INJECT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'EJECT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'IMPLIES' (noprec):   reduce top_decls --> top_decl top_decls
    action 'DATATYPE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'DATA' (noprec):   reduce top_decls --> top_decl top_decls
    action 'FORALL' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BOTTOM' (noprec):   reduce top_decls --> top_decl top_decls
    action 'LET' (noprec):   reduce top_decls --> top_decl top_decls
    action 'REC' (noprec):   reduce top_decls --> top_decl top_decls
    action 'IN' (noprec):   reduce top_decls --> top_decl top_decls
    action 'IF' (noprec):   reduce top_decls --> top_decl top_decls
    action 'THEN' (noprec):   reduce top_decls --> top_decl top_decls
    action 'ELSE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'FUN' (noprec):   reduce top_decls --> top_decl top_decls
    action 'MATCH' (noprec):   reduce top_decls --> top_decl top_decls
    action 'WHEN' (noprec):   reduce top_decls --> top_decl top_decls
    action 'WITH' (noprec):   reduce top_decls --> top_decl top_decls
    action 'FUNCTION' (noprec):   reduce top_decls --> top_decl top_decls
    action 'TRUE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'FALSE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'AS' (noprec):   reduce top_decls --> top_decl top_decls
    action 'OF' (noprec):   reduce top_decls --> top_decl top_decls
    action 'NAMESPACE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'OPEN' (noprec):   reduce top_decls --> top_decl top_decls
    action 'WHERE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'OVERLOAD' (noprec):   reduce top_decls --> top_decl top_decls
    action 'DOUBLEAMP' (noprec):   reduce top_decls --> top_decl top_decls
    action 'DOUBLEPIPE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'UNDERSCORE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BACKSLASH' (noprec):   reduce top_decls --> top_decl top_decls
    action 'KIND' (noprec):   reduce top_decls --> top_decl top_decls
    action 'QUESTION' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BRA' (noprec):   reduce top_decls --> top_decl top_decls
    action 'KET' (noprec):   reduce top_decls --> top_decl top_decls
    action 'CURBRA' (noprec):   reduce top_decls --> top_decl top_decls
    action 'CURKET' (noprec):   reduce top_decls --> top_decl top_decls
    action 'SQBRA' (noprec):   reduce top_decls --> top_decl top_decls
    action 'SQKET' (noprec):   reduce top_decls --> top_decl top_decls
    action 'PLUS' (noprec):   reduce top_decls --> top_decl top_decls
    action 'MINUS' (noprec):   reduce top_decls --> top_decl top_decls
    action 'SLASH' (noprec):   reduce top_decls --> top_decl top_decls
    action 'PLUSDOT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'MINUSDOT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'MOD' (noprec):   reduce top_decls --> top_decl top_decls
    action 'NEQ' (noprec):   reduce top_decls --> top_decl top_decls
    action 'LT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'GT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'LEQ' (noprec):   reduce top_decls --> top_decl top_decls
    action 'GEQ' (noprec):   reduce top_decls --> top_decl top_decls
    action 'AND' (noprec):   reduce top_decls --> top_decl top_decls
    action 'NOT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'PIPE' (noprec):   reduce top_decls --> top_decl top_decls
    action 'AMP' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BANG' (noprec):   reduce top_decls --> top_decl top_decls
    action 'COLONGT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'COLON' (noprec):   reduce top_decls --> top_decl top_decls
    action 'COLON2' (noprec):   reduce top_decls --> top_decl top_decls
    action 'SEMICOLON' (noprec):   reduce top_decls --> top_decl top_decls
    action 'SEMICOLON2' (noprec):   reduce top_decls --> top_decl top_decls
    action 'DOT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'COMMA' (noprec):   reduce top_decls --> top_decl top_decls
    action 'ASSIGN' (noprec):   reduce top_decls --> top_decl top_decls
    action 'STRING' (noprec):   reduce top_decls --> top_decl top_decls
    action 'UID' (noprec):   reduce top_decls --> top_decl top_decls
    action 'LID' (noprec):   reduce top_decls --> top_decl top_decls
    action 'INFIX' (noprec):   reduce top_decls --> top_decl top_decls
    action 'TICK_ID' (noprec):   reduce top_decls --> top_decl top_decls
    action 'BACKTICK_ID' (noprec):   reduce top_decls --> top_decl top_decls
    action 'AT_ID' (noprec):   reduce top_decls --> top_decl top_decls
    action 'CHAR' (noprec):   reduce top_decls --> top_decl top_decls
    action 'FLOAT' (noprec):   reduce top_decls --> top_decl top_decls
    action 'INT32' (noprec):   reduce top_decls --> top_decl top_decls
    action 'AT_INT32' (noprec):   reduce top_decls --> top_decl top_decls
    action 'error' (noprec):   reduce top_decls --> top_decl top_decls
    action '#' (noprec):   reduce top_decls --> top_decl top_decls
    action '$$' (noprec):   reduce top_decls --> top_decl top_decls
  immediate action:   reduce top_decls --> top_decl top_decls  gotos:state 29:  items:    top_decl -> 'LET' . let_or_letrec_decl
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 34
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 67
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 82
    goto let_or_letrec_decl: 31
    goto let_or_letrec_decl_: 65
    goto let_and_bindings: 66
    goto let_binding: 69
    goto let_binding_no_qual: 81
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 30:  items:    top_decl -> 'LET' . let_or_letrec_decl
    expr_stmt_atom_ -> 'LET' . let_decls 'IN' expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 34
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 67
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 82
    goto nested_decl: 473
    goto nested_decl_: 38
    goto let_or_letrec_decl: 32
    goto let_or_letrec_decl_: 65
    goto let_and_bindings: 66
    goto let_binding: 69
    goto let_binding_no_qual: 81
    goto let_decls: 358
    goto inner_decl: 469
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 31:  items:    top_decl -> 'LET' let_or_letrec_decl . 
  actions:    action 'EOF' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'TYPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'EQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'STAR' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'ARROW' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'VAL' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OVER' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BRAGT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LTKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BRALT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'GTKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'HASH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DO' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'INJECT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'EJECT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'IMPLIES' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DATATYPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DATA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FORALL' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BOTTOM' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'REC' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'IN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'IF' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'THEN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'ELSE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FUN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MATCH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'WHEN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'WITH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FUNCTION' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'TRUE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FALSE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AS' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OF' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'NAMESPACE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OPEN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'WHERE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OVERLOAD' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DOUBLEAMP' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DOUBLEPIPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'UNDERSCORE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BACKSLASH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'KIND' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'QUESTION' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BRA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'KET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'CURBRA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'CURKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SQBRA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SQKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'PLUS' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MINUS' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SLASH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'PLUSDOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MINUSDOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MOD' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'NEQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'GT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LEQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'GEQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AND' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'NOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'PIPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AMP' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BANG' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COLONGT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COLON' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COLON2' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SEMICOLON' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SEMICOLON2' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COMMA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'ASSIGN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'STRING' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'UID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'INFIX' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'TICK_ID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BACKTICK_ID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AT_ID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'CHAR' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FLOAT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'INT32' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AT_INT32' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'error' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action '#' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action '$$' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
  immediate action:   reduce top_decl --> 'LET' let_or_letrec_decl  gotos:state 32:  items:    top_decl -> 'LET' let_or_letrec_decl . 
    inner_decl -> let_or_letrec_decl . 
  actions:    action 'EOF' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'TYPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'EQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'STAR' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'ARROW' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'VAL' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OVER' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BRAGT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LTKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BRALT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'GTKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'HASH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DO' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'INJECT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'EJECT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'IMPLIES' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DATATYPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DATA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FORALL' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BOTTOM' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'REC' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'IN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'IF' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'THEN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'ELSE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FUN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MATCH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'WHEN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'WITH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FUNCTION' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'TRUE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FALSE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AS' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OF' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'NAMESPACE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OPEN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'WHERE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'OVERLOAD' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DOUBLEAMP' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DOUBLEPIPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'UNDERSCORE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BACKSLASH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'KIND' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'QUESTION' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BRA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'KET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'CURBRA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'CURKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SQBRA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SQKET' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'PLUS' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MINUS' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SLASH' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'PLUSDOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MINUSDOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'MOD' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'NEQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'GT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LEQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'GEQ' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AND' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'NOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'PIPE' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AMP' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BANG' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COLONGT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COLON' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COLON2' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SEMICOLON' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'SEMICOLON2' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'DOT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'COMMA' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'ASSIGN' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'STRING' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'UID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'LID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'INFIX' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'TICK_ID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'BACKTICK_ID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AT_ID' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'CHAR' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'FLOAT' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'INT32' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'AT_INT32' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action 'error' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action '#' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
    action '$$' (noprec):   reduce top_decl --> 'LET' let_or_letrec_decl
  immediate action: <none>  gotos:state 33:  items:    top_decl -> nested_decl . 
  actions:    action 'EOF' (noprec):   reduce top_decl --> nested_decl
    action 'TYPE' (noprec):   reduce top_decl --> nested_decl
    action 'EQ' (noprec):   reduce top_decl --> nested_decl
    action 'STAR' (noprec):   reduce top_decl --> nested_decl
    action 'ARROW' (noprec):   reduce top_decl --> nested_decl
    action 'VAL' (noprec):   reduce top_decl --> nested_decl
    action 'OVER' (noprec):   reduce top_decl --> nested_decl
    action 'BRAGT' (noprec):   reduce top_decl --> nested_decl
    action 'LTKET' (noprec):   reduce top_decl --> nested_decl
    action 'BRALT' (noprec):   reduce top_decl --> nested_decl
    action 'GTKET' (noprec):   reduce top_decl --> nested_decl
    action 'HASH' (noprec):   reduce top_decl --> nested_decl
    action 'DO' (noprec):   reduce top_decl --> nested_decl
    action 'INJECT' (noprec):   reduce top_decl --> nested_decl
    action 'EJECT' (noprec):   reduce top_decl --> nested_decl
    action 'IMPLIES' (noprec):   reduce top_decl --> nested_decl
    action 'DATATYPE' (noprec):   reduce top_decl --> nested_decl
    action 'DATA' (noprec):   reduce top_decl --> nested_decl
    action 'FORALL' (noprec):   reduce top_decl --> nested_decl
    action 'BOTTOM' (noprec):   reduce top_decl --> nested_decl
    action 'LET' (noprec):   reduce top_decl --> nested_decl
    action 'REC' (noprec):   reduce top_decl --> nested_decl
    action 'IN' (noprec):   reduce top_decl --> nested_decl
    action 'IF' (noprec):   reduce top_decl --> nested_decl
    action 'THEN' (noprec):   reduce top_decl --> nested_decl
    action 'ELSE' (noprec):   reduce top_decl --> nested_decl
    action 'FUN' (noprec):   reduce top_decl --> nested_decl
    action 'MATCH' (noprec):   reduce top_decl --> nested_decl
    action 'WHEN' (noprec):   reduce top_decl --> nested_decl
    action 'WITH' (noprec):   reduce top_decl --> nested_decl
    action 'FUNCTION' (noprec):   reduce top_decl --> nested_decl
    action 'TRUE' (noprec):   reduce top_decl --> nested_decl
    action 'FALSE' (noprec):   reduce top_decl --> nested_decl
    action 'AS' (noprec):   reduce top_decl --> nested_decl
    action 'OF' (noprec):   reduce top_decl --> nested_decl
    action 'NAMESPACE' (noprec):   reduce top_decl --> nested_decl
    action 'OPEN' (noprec):   reduce top_decl --> nested_decl
    action 'WHERE' (noprec):   reduce top_decl --> nested_decl
    action 'OVERLOAD' (noprec):   reduce top_decl --> nested_decl
    action 'DOUBLEAMP' (noprec):   reduce top_decl --> nested_decl
    action 'DOUBLEPIPE' (noprec):   reduce top_decl --> nested_decl
    action 'UNDERSCORE' (noprec):   reduce top_decl --> nested_decl
    action 'BACKSLASH' (noprec):   reduce top_decl --> nested_decl
    action 'KIND' (noprec):   reduce top_decl --> nested_decl
    action 'QUESTION' (noprec):   reduce top_decl --> nested_decl
    action 'BRA' (noprec):   reduce top_decl --> nested_decl
    action 'KET' (noprec):   reduce top_decl --> nested_decl
    action 'CURBRA' (noprec):   reduce top_decl --> nested_decl
    action 'CURKET' (noprec):   reduce top_decl --> nested_decl
    action 'SQBRA' (noprec):   reduce top_decl --> nested_decl
    action 'SQKET' (noprec):   reduce top_decl --> nested_decl
    action 'PLUS' (noprec):   reduce top_decl --> nested_decl
    action 'MINUS' (noprec):   reduce top_decl --> nested_decl
    action 'SLASH' (noprec):   reduce top_decl --> nested_decl
    action 'PLUSDOT' (noprec):   reduce top_decl --> nested_decl
    action 'MINUSDOT' (noprec):   reduce top_decl --> nested_decl
    action 'MOD' (noprec):   reduce top_decl --> nested_decl
    action 'NEQ' (noprec):   reduce top_decl --> nested_decl
    action 'LT' (noprec):   reduce top_decl --> nested_decl
    action 'GT' (noprec):   reduce top_decl --> nested_decl
    action 'LEQ' (noprec):   reduce top_decl --> nested_decl
    action 'GEQ' (noprec):   reduce top_decl --> nested_decl
    action 'AND' (noprec):   reduce top_decl --> nested_decl
    action 'NOT' (noprec):   reduce top_decl --> nested_decl
    action 'PIPE' (noprec):   reduce top_decl --> nested_decl
    action 'AMP' (noprec):   reduce top_decl --> nested_decl
    action 'BANG' (noprec):   reduce top_decl --> nested_decl
    action 'COLONGT' (noprec):   reduce top_decl --> nested_decl
    action 'COLON' (noprec):   reduce top_decl --> nested_decl
    action 'COLON2' (noprec):   reduce top_decl --> nested_decl
    action 'SEMICOLON' (noprec):   reduce top_decl --> nested_decl
    action 'SEMICOLON2' (noprec):   reduce top_decl --> nested_decl
    action 'DOT' (noprec):   reduce top_decl --> nested_decl
    action 'COMMA' (noprec):   reduce top_decl --> nested_decl
    action 'ASSIGN' (noprec):   reduce top_decl --> nested_decl
    action 'STRING' (noprec):   reduce top_decl --> nested_decl
    action 'UID' (noprec):   reduce top_decl --> nested_decl
    action 'LID' (noprec):   reduce top_decl --> nested_decl
    action 'INFIX' (noprec):   reduce top_decl --> nested_decl
    action 'TICK_ID' (noprec):   reduce top_decl --> nested_decl
    action 'BACKTICK_ID' (noprec):   reduce top_decl --> nested_decl
    action 'AT_ID' (noprec):   reduce top_decl --> nested_decl
    action 'CHAR' (noprec):   reduce top_decl --> nested_decl
    action 'FLOAT' (noprec):   reduce top_decl --> nested_decl
    action 'INT32' (noprec):   reduce top_decl --> nested_decl
    action 'AT_INT32' (noprec):   reduce top_decl --> nested_decl
    action 'error' (noprec):   reduce top_decl --> nested_decl
    action '#' (noprec):   reduce top_decl --> nested_decl
    action '$$' (noprec):   reduce top_decl --> nested_decl
  immediate action:   reduce top_decl --> nested_decl  gotos:state 34:  items:    let_quals -> 'VAL' . 
  actions:    action 'EOF' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'TYPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'EQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'STAR' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'ARROW' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'VAL' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OVER' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BRAGT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LTKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BRALT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'GTKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'HASH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DO' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'INJECT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'EJECT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'IMPLIES' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DATATYPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DATA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FORALL' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BOTTOM' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'REC' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'IN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'IF' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'THEN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'ELSE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FUN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MATCH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'WHEN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'WITH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FUNCTION' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'TRUE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FALSE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AS' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OF' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'NAMESPACE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OPEN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'WHERE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OVERLOAD' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DOUBLEAMP' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DOUBLEPIPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'UNDERSCORE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BACKSLASH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'KIND' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'QUESTION' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BRA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'KET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'CURBRA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'CURKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SQBRA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SQKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'PLUS' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MINUS' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SLASH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'PLUSDOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MINUSDOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MOD' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'NEQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'GT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LEQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'GEQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AND' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'NOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'PIPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AMP' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BANG' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COLONGT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COLON' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COLON2' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SEMICOLON' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SEMICOLON2' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COMMA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'ASSIGN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'STRING' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'UID' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LID' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'INFIX' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'TICK_ID' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BACKTICK_ID' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AT_ID' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'CHAR' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FLOAT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'INT32' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AT_INT32' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'error' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action '#' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action '$$' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
  immediate action:   reduce let_quals --> 'VAL'  gotos:state 35:  items:    let_quals -> 'VAL' . 
    expr_stmt_atom_ -> 'VAL' . expr_stmt_atom
  actions:    action 'EOF' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'TYPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'EQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'STAR' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'ARROW' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BRAGT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LTKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BRALT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'GTKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'HASH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DO' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DATATYPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DATA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FORALL' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BOTTOM' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LET' (noprec):   shift 357
    action 'REC' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'IN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'IF' (noprec):   shift 361
    action 'THEN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'ELSE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FUN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'WITH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'FUNCTION' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OF' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'NAMESPACE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OPEN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'WHERE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'OVERLOAD' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DOUBLEAMP' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DOUBLEPIPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'UNDERSCORE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BACKSLASH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'KIND' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'QUESTION' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'PLUS' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MINUS' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SLASH' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'PLUSDOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MINUSDOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'MOD' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'NEQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'GT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'LEQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'GEQ' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AND' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'AMP' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'BANG' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COLONGT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COLON' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COLON2' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SEMICOLON' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'SEMICOLON2' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'DOT' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'COMMA' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'ASSIGN' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action '#' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
    action '$$' (explicit nonassoc 9995):   reduce let_quals --> 'VAL'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 378
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 36:  items:    let_quals -> 'OVER' . 
    let_quals -> 'OVER' . 'VAL'
  actions:    action 'EOF' (noprec):   reduce let_quals --> 'OVER'
    action 'TYPE' (noprec):   reduce let_quals --> 'OVER'
    action 'EQ' (noprec):   reduce let_quals --> 'OVER'
    action 'STAR' (noprec):   reduce let_quals --> 'OVER'
    action 'ARROW' (noprec):   reduce let_quals --> 'OVER'
    action 'VAL' (explicit nonassoc 9995):   shift 37
    action 'OVER' (noprec):   reduce let_quals --> 'OVER'
    action 'BRAGT' (noprec):   reduce let_quals --> 'OVER'
    action 'LTKET' (noprec):   reduce let_quals --> 'OVER'
    action 'BRALT' (noprec):   reduce let_quals --> 'OVER'
    action 'GTKET' (noprec):   reduce let_quals --> 'OVER'
    action 'HASH' (noprec):   reduce let_quals --> 'OVER'
    action 'DO' (noprec):   reduce let_quals --> 'OVER'
    action 'INJECT' (noprec):   reduce let_quals --> 'OVER'
    action 'EJECT' (noprec):   reduce let_quals --> 'OVER'
    action 'IMPLIES' (noprec):   reduce let_quals --> 'OVER'
    action 'DATATYPE' (noprec):   reduce let_quals --> 'OVER'
    action 'DATA' (noprec):   reduce let_quals --> 'OVER'
    action 'FORALL' (noprec):   reduce let_quals --> 'OVER'
    action 'BOTTOM' (noprec):   reduce let_quals --> 'OVER'
    action 'LET' (noprec):   reduce let_quals --> 'OVER'
    action 'REC' (noprec):   reduce let_quals --> 'OVER'
    action 'IN' (noprec):   reduce let_quals --> 'OVER'
    action 'IF' (noprec):   reduce let_quals --> 'OVER'
    action 'THEN' (noprec):   reduce let_quals --> 'OVER'
    action 'ELSE' (noprec):   reduce let_quals --> 'OVER'
    action 'FUN' (noprec):   reduce let_quals --> 'OVER'
    action 'MATCH' (noprec):   reduce let_quals --> 'OVER'
    action 'WHEN' (noprec):   reduce let_quals --> 'OVER'
    action 'WITH' (noprec):   reduce let_quals --> 'OVER'
    action 'FUNCTION' (noprec):   reduce let_quals --> 'OVER'
    action 'TRUE' (noprec):   reduce let_quals --> 'OVER'
    action 'FALSE' (noprec):   reduce let_quals --> 'OVER'
    action 'AS' (noprec):   reduce let_quals --> 'OVER'
    action 'OF' (noprec):   reduce let_quals --> 'OVER'
    action 'NAMESPACE' (noprec):   reduce let_quals --> 'OVER'
    action 'OPEN' (noprec):   reduce let_quals --> 'OVER'
    action 'WHERE' (noprec):   reduce let_quals --> 'OVER'
    action 'OVERLOAD' (noprec):   reduce let_quals --> 'OVER'
    action 'DOUBLEAMP' (noprec):   reduce let_quals --> 'OVER'
    action 'DOUBLEPIPE' (noprec):   reduce let_quals --> 'OVER'
    action 'UNDERSCORE' (noprec):   reduce let_quals --> 'OVER'
    action 'BACKSLASH' (noprec):   reduce let_quals --> 'OVER'
    action 'KIND' (noprec):   reduce let_quals --> 'OVER'
    action 'QUESTION' (noprec):   reduce let_quals --> 'OVER'
    action 'BRA' (noprec):   reduce let_quals --> 'OVER'
    action 'KET' (noprec):   reduce let_quals --> 'OVER'
    action 'CURBRA' (noprec):   reduce let_quals --> 'OVER'
    action 'CURKET' (noprec):   reduce let_quals --> 'OVER'
    action 'SQBRA' (noprec):   reduce let_quals --> 'OVER'
    action 'SQKET' (noprec):   reduce let_quals --> 'OVER'
    action 'PLUS' (noprec):   reduce let_quals --> 'OVER'
    action 'MINUS' (noprec):   reduce let_quals --> 'OVER'
    action 'SLASH' (noprec):   reduce let_quals --> 'OVER'
    action 'PLUSDOT' (noprec):   reduce let_quals --> 'OVER'
    action 'MINUSDOT' (noprec):   reduce let_quals --> 'OVER'
    action 'MOD' (noprec):   reduce let_quals --> 'OVER'
    action 'NEQ' (noprec):   reduce let_quals --> 'OVER'
    action 'LT' (noprec):   reduce let_quals --> 'OVER'
    action 'GT' (noprec):   reduce let_quals --> 'OVER'
    action 'LEQ' (noprec):   reduce let_quals --> 'OVER'
    action 'GEQ' (noprec):   reduce let_quals --> 'OVER'
    action 'AND' (noprec):   reduce let_quals --> 'OVER'
    action 'NOT' (noprec):   reduce let_quals --> 'OVER'
    action 'PIPE' (noprec):   reduce let_quals --> 'OVER'
    action 'AMP' (noprec):   reduce let_quals --> 'OVER'
    action 'BANG' (noprec):   reduce let_quals --> 'OVER'
    action 'COLONGT' (noprec):   reduce let_quals --> 'OVER'
    action 'COLON' (noprec):   reduce let_quals --> 'OVER'
    action 'COLON2' (noprec):   reduce let_quals --> 'OVER'
    action 'SEMICOLON' (noprec):   reduce let_quals --> 'OVER'
    action 'SEMICOLON2' (noprec):   reduce let_quals --> 'OVER'
    action 'DOT' (noprec):   reduce let_quals --> 'OVER'
    action 'COMMA' (noprec):   reduce let_quals --> 'OVER'
    action 'ASSIGN' (noprec):   reduce let_quals --> 'OVER'
    action 'STRING' (noprec):   reduce let_quals --> 'OVER'
    action 'UID' (noprec):   reduce let_quals --> 'OVER'
    action 'LID' (noprec):   reduce let_quals --> 'OVER'
    action 'INFIX' (noprec):   reduce let_quals --> 'OVER'
    action 'TICK_ID' (noprec):   reduce let_quals --> 'OVER'
    action 'BACKTICK_ID' (noprec):   reduce let_quals --> 'OVER'
    action 'AT_ID' (noprec):   reduce let_quals --> 'OVER'
    action 'CHAR' (noprec):   reduce let_quals --> 'OVER'
    action 'FLOAT' (noprec):   reduce let_quals --> 'OVER'
    action 'INT32' (noprec):   reduce let_quals --> 'OVER'
    action 'AT_INT32' (noprec):   reduce let_quals --> 'OVER'
    action 'error' (noprec):   reduce let_quals --> 'OVER'
    action '#' (noprec):   reduce let_quals --> 'OVER'
    action '$$' (noprec):   reduce let_quals --> 'OVER'
  immediate action: <none>  gotos:state 37:  items:    let_quals -> 'OVER' 'VAL' . 
  actions:    action 'EOF' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'TYPE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'EQ' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'STAR' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'ARROW' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'VAL' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'OVER' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BRAGT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'LTKET' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BRALT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'GTKET' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'HASH' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'DO' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'INJECT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'EJECT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'IMPLIES' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'DATATYPE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'DATA' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'FORALL' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BOTTOM' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'LET' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'REC' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'IN' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'IF' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'THEN' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'ELSE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'FUN' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'MATCH' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'WHEN' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'WITH' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'FUNCTION' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'TRUE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'FALSE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'AS' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'OF' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'NAMESPACE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'OPEN' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'WHERE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'OVERLOAD' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'DOUBLEAMP' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'DOUBLEPIPE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'UNDERSCORE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BACKSLASH' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'KIND' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'QUESTION' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BRA' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'KET' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'CURBRA' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'CURKET' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'SQBRA' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'SQKET' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'PLUS' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'MINUS' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'SLASH' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'PLUSDOT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'MINUSDOT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'MOD' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'NEQ' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'LT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'GT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'LEQ' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'GEQ' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'AND' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'NOT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'PIPE' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'AMP' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BANG' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'COLONGT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'COLON' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'COLON2' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'SEMICOLON' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'SEMICOLON2' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'DOT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'COMMA' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'ASSIGN' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'STRING' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'UID' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'LID' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'INFIX' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'TICK_ID' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'BACKTICK_ID' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'AT_ID' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'CHAR' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'FLOAT' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'INT32' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'AT_INT32' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action 'error' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action '#' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
    action '$$' (explicit nonassoc 9995):   reduce let_quals --> 'OVER' 'VAL'
  immediate action:   reduce let_quals --> 'OVER' 'VAL'  gotos:state 38:  items:    nested_decl -> nested_decl_ . 
  actions:    action 'EOF' (noprec):   reduce nested_decl --> nested_decl_
    action 'TYPE' (noprec):   reduce nested_decl --> nested_decl_
    action 'EQ' (noprec):   reduce nested_decl --> nested_decl_
    action 'STAR' (noprec):   reduce nested_decl --> nested_decl_
    action 'ARROW' (noprec):   reduce nested_decl --> nested_decl_
    action 'VAL' (noprec):   reduce nested_decl --> nested_decl_
    action 'OVER' (noprec):   reduce nested_decl --> nested_decl_
    action 'BRAGT' (noprec):   reduce nested_decl --> nested_decl_
    action 'LTKET' (noprec):   reduce nested_decl --> nested_decl_
    action 'BRALT' (noprec):   reduce nested_decl --> nested_decl_
    action 'GTKET' (noprec):   reduce nested_decl --> nested_decl_
    action 'HASH' (noprec):   reduce nested_decl --> nested_decl_
    action 'DO' (noprec):   reduce nested_decl --> nested_decl_
    action 'INJECT' (noprec):   reduce nested_decl --> nested_decl_
    action 'EJECT' (noprec):   reduce nested_decl --> nested_decl_
    action 'IMPLIES' (noprec):   reduce nested_decl --> nested_decl_
    action 'DATATYPE' (noprec):   reduce nested_decl --> nested_decl_
    action 'DATA' (noprec):   reduce nested_decl --> nested_decl_
    action 'FORALL' (noprec):   reduce nested_decl --> nested_decl_
    action 'BOTTOM' (noprec):   reduce nested_decl --> nested_decl_
    action 'LET' (noprec):   reduce nested_decl --> nested_decl_
    action 'REC' (noprec):   reduce nested_decl --> nested_decl_
    action 'IN' (noprec):   reduce nested_decl --> nested_decl_
    action 'IF' (noprec):   reduce nested_decl --> nested_decl_
    action 'THEN' (noprec):   reduce nested_decl --> nested_decl_
    action 'ELSE' (noprec):   reduce nested_decl --> nested_decl_
    action 'FUN' (noprec):   reduce nested_decl --> nested_decl_
    action 'MATCH' (noprec):   reduce nested_decl --> nested_decl_
    action 'WHEN' (noprec):   reduce nested_decl --> nested_decl_
    action 'WITH' (noprec):   reduce nested_decl --> nested_decl_
    action 'FUNCTION' (noprec):   reduce nested_decl --> nested_decl_
    action 'TRUE' (noprec):   reduce nested_decl --> nested_decl_
    action 'FALSE' (noprec):   reduce nested_decl --> nested_decl_
    action 'AS' (noprec):   reduce nested_decl --> nested_decl_
    action 'OF' (noprec):   reduce nested_decl --> nested_decl_
    action 'NAMESPACE' (noprec):   reduce nested_decl --> nested_decl_
    action 'OPEN' (noprec):   reduce nested_decl --> nested_decl_
    action 'WHERE' (noprec):   reduce nested_decl --> nested_decl_
    action 'OVERLOAD' (noprec):   reduce nested_decl --> nested_decl_
    action 'DOUBLEAMP' (noprec):   reduce nested_decl --> nested_decl_
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl --> nested_decl_
    action 'UNDERSCORE' (noprec):   reduce nested_decl --> nested_decl_
    action 'BACKSLASH' (noprec):   reduce nested_decl --> nested_decl_
    action 'KIND' (noprec):   reduce nested_decl --> nested_decl_
    action 'QUESTION' (noprec):   reduce nested_decl --> nested_decl_
    action 'BRA' (noprec):   reduce nested_decl --> nested_decl_
    action 'KET' (noprec):   reduce nested_decl --> nested_decl_
    action 'CURBRA' (noprec):   reduce nested_decl --> nested_decl_
    action 'CURKET' (noprec):   reduce nested_decl --> nested_decl_
    action 'SQBRA' (noprec):   reduce nested_decl --> nested_decl_
    action 'SQKET' (noprec):   reduce nested_decl --> nested_decl_
    action 'PLUS' (noprec):   reduce nested_decl --> nested_decl_
    action 'MINUS' (noprec):   reduce nested_decl --> nested_decl_
    action 'SLASH' (noprec):   reduce nested_decl --> nested_decl_
    action 'PLUSDOT' (noprec):   reduce nested_decl --> nested_decl_
    action 'MINUSDOT' (noprec):   reduce nested_decl --> nested_decl_
    action 'MOD' (noprec):   reduce nested_decl --> nested_decl_
    action 'NEQ' (noprec):   reduce nested_decl --> nested_decl_
    action 'LT' (noprec):   reduce nested_decl --> nested_decl_
    action 'GT' (noprec):   reduce nested_decl --> nested_decl_
    action 'LEQ' (noprec):   reduce nested_decl --> nested_decl_
    action 'GEQ' (noprec):   reduce nested_decl --> nested_decl_
    action 'AND' (noprec):   reduce nested_decl --> nested_decl_
    action 'NOT' (noprec):   reduce nested_decl --> nested_decl_
    action 'PIPE' (noprec):   reduce nested_decl --> nested_decl_
    action 'AMP' (noprec):   reduce nested_decl --> nested_decl_
    action 'BANG' (noprec):   reduce nested_decl --> nested_decl_
    action 'COLONGT' (noprec):   reduce nested_decl --> nested_decl_
    action 'COLON' (noprec):   reduce nested_decl --> nested_decl_
    action 'COLON2' (noprec):   reduce nested_decl --> nested_decl_
    action 'SEMICOLON' (noprec):   reduce nested_decl --> nested_decl_
    action 'SEMICOLON2' (noprec):   reduce nested_decl --> nested_decl_
    action 'DOT' (noprec):   reduce nested_decl --> nested_decl_
    action 'COMMA' (noprec):   reduce nested_decl --> nested_decl_
    action 'ASSIGN' (noprec):   reduce nested_decl --> nested_decl_
    action 'STRING' (noprec):   reduce nested_decl --> nested_decl_
    action 'UID' (noprec):   reduce nested_decl --> nested_decl_
    action 'LID' (noprec):   reduce nested_decl --> nested_decl_
    action 'INFIX' (noprec):   reduce nested_decl --> nested_decl_
    action 'TICK_ID' (noprec):   reduce nested_decl --> nested_decl_
    action 'BACKTICK_ID' (noprec):   reduce nested_decl --> nested_decl_
    action 'AT_ID' (noprec):   reduce nested_decl --> nested_decl_
    action 'CHAR' (noprec):   reduce nested_decl --> nested_decl_
    action 'FLOAT' (noprec):   reduce nested_decl --> nested_decl_
    action 'INT32' (noprec):   reduce nested_decl --> nested_decl_
    action 'AT_INT32' (noprec):   reduce nested_decl --> nested_decl_
    action 'error' (noprec):   reduce nested_decl --> nested_decl_
    action '#' (noprec):   reduce nested_decl --> nested_decl_
    action '$$' (noprec):   reduce nested_decl --> nested_decl_
  immediate action:   reduce nested_decl --> nested_decl_  gotos:state 39:  items:    nested_decl_ -> 'OPEN' . expr
    nested_decl_ -> 'OPEN' . let_quals expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 35
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 41
    goto id: 442
    goto expr: 40
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 40:  items:    nested_decl_ -> 'OPEN' expr . 
  actions:    action 'EOF' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'TYPE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'EQ' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'STAR' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'ARROW' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'VAL' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'OVER' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BRAGT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'LTKET' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BRALT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'GTKET' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'HASH' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'DO' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'INJECT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'EJECT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'IMPLIES' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'DATATYPE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'DATA' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'FORALL' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BOTTOM' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'LET' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'REC' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'IN' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'IF' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'THEN' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'ELSE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'FUN' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'MATCH' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'WHEN' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'WITH' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'FUNCTION' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'TRUE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'FALSE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'AS' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'OF' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'NAMESPACE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'OPEN' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'WHERE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'OVERLOAD' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'DOUBLEAMP' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'UNDERSCORE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BACKSLASH' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'KIND' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'QUESTION' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BRA' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'KET' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'CURBRA' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'CURKET' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'SQBRA' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'SQKET' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'PLUS' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'MINUS' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'SLASH' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'PLUSDOT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'MINUSDOT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'MOD' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'NEQ' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'LT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'GT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'LEQ' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'GEQ' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'AND' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'NOT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'PIPE' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'AMP' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BANG' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'COLONGT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'COLON' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'COLON2' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'SEMICOLON' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'SEMICOLON2' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'DOT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'COMMA' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'ASSIGN' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'STRING' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'UID' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'LID' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'INFIX' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'TICK_ID' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'BACKTICK_ID' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'AT_ID' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'CHAR' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'FLOAT' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'INT32' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'AT_INT32' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action 'error' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action '#' (noprec):   reduce nested_decl_ --> 'OPEN' expr
    action '$$' (noprec):   reduce nested_decl_ --> 'OPEN' expr
  immediate action:   reduce nested_decl_ --> 'OPEN' expr  gotos:state 41:  items:    nested_decl_ -> 'OPEN' let_quals . expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 42
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 42:  items:    nested_decl_ -> 'OPEN' let_quals expr . 
  actions:    action 'EOF' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'TYPE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'EQ' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'STAR' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'ARROW' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'VAL' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'OVER' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BRAGT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'LTKET' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BRALT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'GTKET' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'HASH' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'DO' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'INJECT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'EJECT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'IMPLIES' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'DATATYPE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'DATA' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'FORALL' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BOTTOM' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'LET' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'REC' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'IN' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'IF' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'THEN' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'ELSE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'FUN' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'MATCH' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'WHEN' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'WITH' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'FUNCTION' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'TRUE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'FALSE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'AS' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'OF' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'NAMESPACE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'OPEN' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'WHERE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'OVERLOAD' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'DOUBLEAMP' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'UNDERSCORE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BACKSLASH' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'KIND' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'QUESTION' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BRA' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'KET' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'CURBRA' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'CURKET' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'SQBRA' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'SQKET' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'PLUS' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'MINUS' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'SLASH' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'PLUSDOT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'MINUSDOT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'MOD' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'NEQ' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'LT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'GT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'LEQ' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'GEQ' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'AND' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'NOT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'PIPE' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'AMP' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BANG' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'COLONGT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'COLON' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'COLON2' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'SEMICOLON' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'SEMICOLON2' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'DOT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'COMMA' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'ASSIGN' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'STRING' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'UID' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'LID' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'INFIX' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'TICK_ID' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'BACKTICK_ID' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'AT_ID' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'CHAR' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'FLOAT' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'INT32' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'AT_INT32' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action 'error' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action '#' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
    action '$$' (noprec):   reduce nested_decl_ --> 'OPEN' let_quals expr
  immediate action:   reduce nested_decl_ --> 'OPEN' let_quals expr  gotos:state 43:  items:    nested_decl_ -> 'OVERLOAD' . over_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   shift 95
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto over_and_bindings: 44
    goto over_binding: 72
state 44:  items:    nested_decl_ -> 'OVERLOAD' over_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'TYPE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'EQ' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'STAR' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'ARROW' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'VAL' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'OVER' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BRAGT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'LTKET' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BRALT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'GTKET' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'HASH' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'DO' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'INJECT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'EJECT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'IMPLIES' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'DATATYPE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'DATA' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'FORALL' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BOTTOM' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'LET' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'REC' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'IN' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'IF' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'THEN' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'ELSE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'FUN' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'MATCH' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'WHEN' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'WITH' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'FUNCTION' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'TRUE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'FALSE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'AS' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'OF' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'NAMESPACE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'OPEN' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'WHERE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'OVERLOAD' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'UNDERSCORE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BACKSLASH' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'KIND' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'QUESTION' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BRA' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'KET' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'CURBRA' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'CURKET' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'SQBRA' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'SQKET' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'PLUS' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'MINUS' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'SLASH' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'PLUSDOT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'MINUSDOT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'MOD' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'NEQ' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'LT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'GT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'LEQ' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'GEQ' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'AND' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'NOT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'PIPE' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'AMP' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BANG' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'COLONGT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'COLON' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'COLON2' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'SEMICOLON' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'SEMICOLON2' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'DOT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'COMMA' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'ASSIGN' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'STRING' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'UID' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'LID' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'INFIX' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'TICK_ID' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'AT_ID' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'CHAR' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'FLOAT' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'INT32' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'AT_INT32' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action 'error' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action '#' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
    action '$$' (noprec):   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings
  immediate action:   reduce nested_decl_ --> 'OVERLOAD' over_and_bindings  gotos:state 45:  items:    nested_decl_ -> 'TYPE' . ty_expr_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 46
    goto ty_expr_binding: 75
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 46:  items:    nested_decl_ -> 'TYPE' ty_expr_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'TYPE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'EQ' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'STAR' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'ARROW' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'VAL' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OVER' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BRAGT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LTKET' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BRALT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'GTKET' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'HASH' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DO' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'INJECT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'EJECT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'IMPLIES' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DATATYPE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DATA' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FORALL' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BOTTOM' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LET' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'REC' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'IN' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'IF' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'THEN' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'ELSE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FUN' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MATCH' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'WHEN' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'WITH' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FUNCTION' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'TRUE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FALSE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AS' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OF' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'NAMESPACE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OPEN' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'WHERE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OVERLOAD' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'UNDERSCORE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BACKSLASH' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'KIND' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'QUESTION' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BRA' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'KET' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'CURBRA' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'CURKET' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SQBRA' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SQKET' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'PLUS' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MINUS' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SLASH' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'PLUSDOT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MINUSDOT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MOD' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'NEQ' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'GT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LEQ' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'GEQ' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AND' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'NOT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'PIPE' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AMP' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BANG' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COLONGT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COLON' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COLON2' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SEMICOLON' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SEMICOLON2' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DOT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COMMA' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'ASSIGN' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'STRING' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'UID' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LID' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'INFIX' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'TICK_ID' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AT_ID' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'CHAR' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FLOAT' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'INT32' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AT_INT32' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'error' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action '#' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
    action '$$' (noprec):   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings
  immediate action:   reduce nested_decl_ --> 'TYPE' ty_expr_and_bindings  gotos:state 47:  items:    nested_decl_ -> 'KIND' . kind_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto kind_and_bindings: 48
    goto kind_binding: 78
    goto id: 109
state 48:  items:    nested_decl_ -> 'KIND' kind_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'TYPE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'EQ' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'STAR' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'ARROW' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'VAL' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'OVER' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BRAGT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'LTKET' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BRALT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'GTKET' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'HASH' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'DO' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'INJECT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'EJECT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'IMPLIES' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'DATATYPE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'DATA' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'FORALL' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BOTTOM' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'LET' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'REC' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'IN' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'IF' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'THEN' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'ELSE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'FUN' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'MATCH' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'WHEN' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'WITH' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'FUNCTION' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'TRUE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'FALSE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'AS' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'OF' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'NAMESPACE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'OPEN' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'WHERE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'OVERLOAD' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'UNDERSCORE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BACKSLASH' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'KIND' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'QUESTION' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BRA' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'KET' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'CURBRA' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'CURKET' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'SQBRA' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'SQKET' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'PLUS' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'MINUS' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'SLASH' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'PLUSDOT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'MINUSDOT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'MOD' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'NEQ' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'LT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'GT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'LEQ' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'GEQ' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'AND' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'NOT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'PIPE' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'AMP' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BANG' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'COLONGT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'COLON' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'COLON2' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'SEMICOLON' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'SEMICOLON2' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'DOT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'COMMA' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'ASSIGN' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'STRING' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'UID' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'LID' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'INFIX' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'TICK_ID' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'AT_ID' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'CHAR' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'FLOAT' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'INT32' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'AT_INT32' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action 'error' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action '#' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
    action '$$' (noprec):   reduce nested_decl_ --> 'KIND' kind_and_bindings
  immediate action:   reduce nested_decl_ --> 'KIND' kind_and_bindings  gotos:state 49:  items:    nested_decl_ -> 'DATATYPE' . datatype
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto datatype: 50
    goto id: 51
state 50:  items:    nested_decl_ -> 'DATATYPE' datatype . 
  actions:    action 'EOF' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'TYPE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'EQ' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'STAR' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'ARROW' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'VAL' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'OVER' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BRAGT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'LTKET' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BRALT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'GTKET' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'HASH' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'DO' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'INJECT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'EJECT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'IMPLIES' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'DATATYPE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'DATA' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'FORALL' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BOTTOM' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'LET' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'REC' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'IN' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'IF' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'THEN' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'ELSE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'FUN' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'MATCH' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'WHEN' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'WITH' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'FUNCTION' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'TRUE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'FALSE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'AS' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'OF' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'NAMESPACE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'OPEN' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'WHERE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'OVERLOAD' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'DOUBLEAMP' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'DOUBLEPIPE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'UNDERSCORE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BACKSLASH' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'KIND' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'QUESTION' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BRA' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'KET' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'CURBRA' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'CURKET' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'SQBRA' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'SQKET' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'PLUS' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'MINUS' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'SLASH' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'PLUSDOT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'MINUSDOT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'MOD' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'NEQ' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'LT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'GT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'LEQ' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'GEQ' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'AND' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'NOT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'PIPE' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'AMP' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BANG' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'COLONGT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'COLON' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'COLON2' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'SEMICOLON' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'SEMICOLON2' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'DOT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'COMMA' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'ASSIGN' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'STRING' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'UID' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'LID' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'INFIX' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'TICK_ID' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'BACKTICK_ID' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'AT_ID' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'CHAR' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'FLOAT' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'INT32' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'AT_INT32' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action 'error' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action '#' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
    action '$$' (noprec):   reduce nested_decl_ --> 'DATATYPE' datatype
  immediate action:   reduce nested_decl_ --> 'DATATYPE' datatype  gotos:state 51:  items:    datatype -> id . 'COLON2' kind 'EQ' datatype_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (explicit right 9988):   shift 52
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 52:  items:    datatype -> id 'COLON2' . kind 'EQ' datatype_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 53
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 53:  items:    datatype -> id 'COLON2' kind . 'EQ' datatype_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 54
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 54:  items:    datatype -> id 'COLON2' kind 'EQ' . datatype_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 57
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 62
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto datatype_bindings: 55
    goto datatype_bindings_: 56
    goto datatype_binding: 59
state 55:  items:    datatype -> id 'COLON2' kind 'EQ' datatype_bindings . 
  actions:    action 'EOF' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'TYPE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'EQ' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'STAR' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'ARROW' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'VAL' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'OVER' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BRAGT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'LTKET' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BRALT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'GTKET' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'HASH' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'DO' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'INJECT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'EJECT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'IMPLIES' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'DATATYPE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'DATA' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'FORALL' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BOTTOM' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'LET' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'REC' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'IN' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'IF' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'THEN' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'ELSE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'FUN' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'MATCH' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'WHEN' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'WITH' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'FUNCTION' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'TRUE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'FALSE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'AS' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'OF' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'NAMESPACE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'OPEN' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'WHERE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'OVERLOAD' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'DOUBLEAMP' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'DOUBLEPIPE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'UNDERSCORE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BACKSLASH' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'KIND' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'QUESTION' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BRA' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'KET' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'CURBRA' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'CURKET' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'SQBRA' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'SQKET' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'PLUS' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'MINUS' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'SLASH' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'PLUSDOT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'MINUSDOT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'MOD' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'NEQ' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'LT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'GT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'LEQ' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'GEQ' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'AND' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'NOT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'PIPE' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'AMP' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BANG' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'COLONGT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'COLON' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'COLON2' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'SEMICOLON' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'SEMICOLON2' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'DOT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'COMMA' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'ASSIGN' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'STRING' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'UID' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'LID' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'INFIX' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'TICK_ID' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'BACKTICK_ID' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'AT_ID' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'CHAR' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'FLOAT' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'INT32' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'AT_INT32' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action 'error' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action '#' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
    action '$$' (explicit left 9989):   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings
  immediate action:   reduce datatype --> id 'COLON2' kind 'EQ' datatype_bindings  gotos:state 56:  items:    datatype_bindings -> datatype_bindings_ . 
  actions:    action 'EOF' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'TYPE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'EQ' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'STAR' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'ARROW' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'VAL' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'OVER' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BRAGT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'LTKET' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BRALT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'GTKET' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'HASH' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'DO' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'INJECT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'EJECT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'IMPLIES' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'DATATYPE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'DATA' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'FORALL' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BOTTOM' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'LET' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'REC' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'IN' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'IF' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'THEN' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'ELSE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'FUN' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'MATCH' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'WHEN' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'WITH' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'FUNCTION' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'TRUE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'FALSE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'AS' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'OF' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'NAMESPACE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'OPEN' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'WHERE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'OVERLOAD' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'DOUBLEAMP' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'DOUBLEPIPE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'UNDERSCORE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BACKSLASH' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'KIND' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'QUESTION' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BRA' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'KET' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'CURBRA' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'CURKET' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'SQBRA' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'SQKET' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'PLUS' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'MINUS' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'SLASH' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'PLUSDOT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'MINUSDOT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'MOD' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'NEQ' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'LT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'GT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'LEQ' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'GEQ' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'AND' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'NOT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'PIPE' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'AMP' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BANG' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'COLONGT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'COLON' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'COLON2' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'SEMICOLON' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'SEMICOLON2' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'DOT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'COMMA' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'ASSIGN' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'STRING' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'UID' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'LID' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'INFIX' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'TICK_ID' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'BACKTICK_ID' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'AT_ID' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'CHAR' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'FLOAT' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'INT32' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'AT_INT32' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action 'error' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action '#' (noprec):   reduce datatype_bindings --> datatype_bindings_
    action '$$' (noprec):   reduce datatype_bindings --> datatype_bindings_
  immediate action:   reduce datatype_bindings --> datatype_bindings_  gotos:state 57:  items:    datatype_bindings -> 'PIPE' . datatype_bindings_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 62
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto datatype_bindings_: 58
    goto datatype_binding: 59
state 58:  items:    datatype_bindings -> 'PIPE' datatype_bindings_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'TYPE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'EQ' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'STAR' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'ARROW' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'VAL' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'OVER' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BRAGT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'LTKET' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BRALT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'GTKET' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'HASH' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'DO' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'INJECT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'EJECT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'IMPLIES' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'DATATYPE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'DATA' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'FORALL' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BOTTOM' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'LET' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'REC' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'IN' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'IF' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'THEN' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'ELSE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'FUN' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'MATCH' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'WHEN' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'WITH' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'FUNCTION' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'TRUE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'FALSE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'AS' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'OF' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'NAMESPACE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'OPEN' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'WHERE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'OVERLOAD' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'DOUBLEAMP' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'UNDERSCORE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BACKSLASH' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'KIND' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'QUESTION' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BRA' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'KET' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'CURBRA' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'CURKET' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'SQBRA' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'SQKET' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'PLUS' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'MINUS' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'SLASH' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'PLUSDOT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'MINUSDOT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'MOD' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'NEQ' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'LT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'GT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'LEQ' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'GEQ' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'AND' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'NOT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'PIPE' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'AMP' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BANG' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'COLONGT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'COLON' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'COLON2' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'SEMICOLON' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'SEMICOLON2' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'DOT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'COMMA' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'ASSIGN' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'STRING' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'UID' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'LID' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'INFIX' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'TICK_ID' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'BACKTICK_ID' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'AT_ID' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'CHAR' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'FLOAT' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'INT32' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'AT_INT32' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action 'error' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action '#' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
    action '$$' (explicit left 9986):   reduce datatype_bindings --> 'PIPE' datatype_bindings_
  immediate action:   reduce datatype_bindings --> 'PIPE' datatype_bindings_  gotos:state 59:  items:    datatype_bindings_ -> datatype_binding . 
    datatype_bindings_ -> datatype_binding . 'PIPE' datatype_bindings_
  actions:    action 'EOF' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'TYPE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'EQ' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'STAR' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'ARROW' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'VAL' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'OVER' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BRAGT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'LTKET' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BRALT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'GTKET' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'HASH' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'DO' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'INJECT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'EJECT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'IMPLIES' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'DATATYPE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'DATA' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'FORALL' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BOTTOM' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'LET' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'REC' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'IN' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'IF' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'THEN' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'ELSE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'FUN' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'MATCH' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'WHEN' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'WITH' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'FUNCTION' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'TRUE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'FALSE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'AS' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'OF' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'NAMESPACE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'OPEN' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'WHERE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'OVERLOAD' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'DOUBLEAMP' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'DOUBLEPIPE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'UNDERSCORE' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BACKSLASH' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'KIND' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'QUESTION' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BRA' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'KET' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'CURBRA' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'CURKET' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'SQBRA' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'SQKET' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'PLUS' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'MINUS' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'SLASH' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'PLUSDOT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'MINUSDOT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'MOD' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'NEQ' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'LT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'GT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'LEQ' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'GEQ' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'AND' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'NOT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'PIPE' (explicit left 9986):   shift 60
    action 'AMP' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BANG' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'COLONGT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'COLON' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'COLON2' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'SEMICOLON' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'SEMICOLON2' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'DOT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'COMMA' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'ASSIGN' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'STRING' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'UID' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'LID' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'INFIX' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'TICK_ID' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'BACKTICK_ID' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'AT_ID' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'CHAR' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'FLOAT' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'INT32' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'AT_INT32' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action 'error' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action '#' (noprec):   reduce datatype_bindings_ --> datatype_binding
    action '$$' (noprec):   reduce datatype_bindings_ --> datatype_binding
  immediate action: <none>  gotos:state 60:  items:    datatype_bindings_ -> datatype_binding 'PIPE' . datatype_bindings_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 62
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto datatype_bindings_: 61
    goto datatype_binding: 59
state 61:  items:    datatype_bindings_ -> datatype_binding 'PIPE' datatype_bindings_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'TYPE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'EQ' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'STAR' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'ARROW' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'VAL' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'OVER' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BRAGT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'LTKET' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BRALT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'GTKET' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'HASH' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'DO' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'INJECT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'EJECT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'IMPLIES' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'DATATYPE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'DATA' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'FORALL' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BOTTOM' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'LET' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'REC' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'IN' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'IF' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'THEN' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'ELSE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'FUN' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'MATCH' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'WHEN' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'WITH' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'FUNCTION' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'TRUE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'FALSE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'AS' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'OF' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'NAMESPACE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'OPEN' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'WHERE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'OVERLOAD' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'DOUBLEAMP' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'UNDERSCORE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BACKSLASH' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'KIND' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'QUESTION' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BRA' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'KET' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'CURBRA' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'CURKET' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'SQBRA' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'SQKET' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'PLUS' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'MINUS' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'SLASH' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'PLUSDOT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'MINUSDOT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'MOD' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'NEQ' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'LT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'GT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'LEQ' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'GEQ' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'AND' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'NOT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'PIPE' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'AMP' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BANG' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'COLONGT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'COLON' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'COLON2' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'SEMICOLON' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'SEMICOLON2' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'DOT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'COMMA' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'ASSIGN' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'STRING' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'UID' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'LID' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'INFIX' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'TICK_ID' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'BACKTICK_ID' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'AT_ID' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'CHAR' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'FLOAT' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'INT32' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'AT_INT32' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action 'error' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action '#' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
    action '$$' (explicit left 9986):   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_
  immediate action:   reduce datatype_bindings_ --> datatype_binding 'PIPE' datatype_bindings_  gotos:state 62:  items:    datatype_binding -> 'UID' . 'COLON' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   shift 63
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 63:  items:    datatype_binding -> 'UID' 'COLON' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 64
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 64:  items:    datatype_binding -> 'UID' 'COLON' ty_expr . 
  actions:    action 'EOF' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'TYPE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'EQ' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'STAR' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'ARROW' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'VAL' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'OVER' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BRAGT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'LTKET' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BRALT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'GTKET' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'HASH' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'DO' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'INJECT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'EJECT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'IMPLIES' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'DATATYPE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'DATA' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'FORALL' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BOTTOM' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'LET' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'REC' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'IN' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'IF' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'THEN' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'ELSE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'FUN' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'MATCH' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'WHEN' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'WITH' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'FUNCTION' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'TRUE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'FALSE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'AS' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'OF' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'NAMESPACE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'OPEN' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'WHERE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'OVERLOAD' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'UNDERSCORE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BACKSLASH' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'KIND' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'QUESTION' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BRA' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'KET' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'CURBRA' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'CURKET' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'SQBRA' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'SQKET' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'PLUS' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'MINUS' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'SLASH' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'PLUSDOT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'MINUSDOT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'MOD' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'NEQ' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'LT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'GT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'LEQ' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'GEQ' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'AND' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'NOT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'PIPE' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'AMP' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BANG' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'COLONGT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'COLON' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'COLON2' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'SEMICOLON' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'SEMICOLON2' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'DOT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'COMMA' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'ASSIGN' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'STRING' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'UID' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'LID' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'INFIX' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'TICK_ID' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'AT_ID' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'CHAR' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'FLOAT' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'INT32' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'AT_INT32' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action 'error' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action '#' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
    action '$$' (noprec):   reduce datatype_binding --> 'UID' 'COLON' ty_expr
  immediate action:   reduce datatype_binding --> 'UID' 'COLON' ty_expr  gotos:state 65:  items:    let_or_letrec_decl -> let_or_letrec_decl_ . 
  actions:    action 'EOF' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'TYPE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'EQ' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'STAR' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'ARROW' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'VAL' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'OVER' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BRAGT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'LTKET' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BRALT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'GTKET' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'HASH' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'DO' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'INJECT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'EJECT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'IMPLIES' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'DATATYPE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'DATA' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'FORALL' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BOTTOM' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'LET' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'REC' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'IN' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'IF' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'THEN' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'ELSE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'FUN' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'MATCH' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'WHEN' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'WITH' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'FUNCTION' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'TRUE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'FALSE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'AS' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'OF' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'NAMESPACE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'OPEN' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'WHERE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'OVERLOAD' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'DOUBLEAMP' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'DOUBLEPIPE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'UNDERSCORE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BACKSLASH' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'KIND' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'QUESTION' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BRA' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'KET' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'CURBRA' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'CURKET' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'SQBRA' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'SQKET' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'PLUS' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'MINUS' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'SLASH' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'PLUSDOT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'MINUSDOT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'MOD' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'NEQ' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'LT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'GT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'LEQ' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'GEQ' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'AND' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'NOT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'PIPE' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'AMP' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BANG' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'COLONGT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'COLON' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'COLON2' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'SEMICOLON' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'SEMICOLON2' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'DOT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'COMMA' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'ASSIGN' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'STRING' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'UID' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'LID' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'INFIX' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'TICK_ID' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'BACKTICK_ID' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'AT_ID' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'CHAR' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'FLOAT' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'INT32' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'AT_INT32' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action 'error' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action '#' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
    action '$$' (noprec):   reduce let_or_letrec_decl --> let_or_letrec_decl_
  immediate action:   reduce let_or_letrec_decl --> let_or_letrec_decl_  gotos:state 66:  items:    let_or_letrec_decl_ -> let_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'TYPE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'EQ' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'STAR' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'ARROW' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'VAL' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'OVER' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BRAGT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'LTKET' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BRALT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'GTKET' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'HASH' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'DO' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'INJECT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'EJECT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'IMPLIES' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'DATATYPE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'DATA' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'FORALL' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BOTTOM' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'LET' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'REC' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'IN' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'IF' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'THEN' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'ELSE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'FUN' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'MATCH' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'WHEN' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'WITH' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'FUNCTION' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'TRUE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'FALSE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'AS' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'OF' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'OPEN' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'WHERE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'KIND' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'QUESTION' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BRA' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'KET' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'CURBRA' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'CURKET' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'SQBRA' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'SQKET' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'PLUS' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'MINUS' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'SLASH' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'MOD' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'NEQ' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'LT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'GT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'LEQ' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'GEQ' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'AND' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'NOT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'PIPE' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'AMP' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BANG' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'COLONGT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'COLON' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'COLON2' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'DOT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'COMMA' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'ASSIGN' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'STRING' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'UID' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'LID' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'INFIX' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'TICK_ID' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'AT_ID' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'CHAR' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'FLOAT' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'INT32' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'AT_INT32' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action 'error' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action '#' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
    action '$$' (noprec):   reduce let_or_letrec_decl_ --> let_and_bindings
  immediate action:   reduce let_or_letrec_decl_ --> let_and_bindings  gotos:state 67:  items:    let_or_letrec_decl_ -> 'REC' . let_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 34
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 82
    goto let_and_bindings: 68
    goto let_binding: 69
    goto let_binding_no_qual: 81
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 68:  items:    let_or_letrec_decl_ -> 'REC' let_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'TYPE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'EQ' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'STAR' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'ARROW' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'VAL' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'OVER' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BRAGT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'LTKET' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BRALT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'GTKET' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'HASH' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'DO' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'INJECT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'EJECT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'IMPLIES' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'DATATYPE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'DATA' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'FORALL' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BOTTOM' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'LET' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'REC' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'IN' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'IF' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'THEN' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'ELSE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'FUN' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'MATCH' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'WHEN' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'WITH' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'FUNCTION' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'TRUE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'FALSE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'AS' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'OF' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'OPEN' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'WHERE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'KIND' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'QUESTION' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BRA' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'KET' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'CURBRA' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'CURKET' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'SQBRA' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'SQKET' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'PLUS' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'MINUS' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'SLASH' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'MOD' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'NEQ' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'LT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'GT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'LEQ' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'GEQ' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'AND' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'NOT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'PIPE' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'AMP' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BANG' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'COLONGT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'COLON' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'COLON2' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'DOT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'COMMA' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'ASSIGN' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'STRING' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'UID' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'LID' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'INFIX' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'TICK_ID' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'AT_ID' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'CHAR' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'FLOAT' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'INT32' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'AT_INT32' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action 'error' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action '#' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
    action '$$' (noprec):   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings
  immediate action:   reduce let_or_letrec_decl_ --> 'REC' let_and_bindings  gotos:state 69:  items:    let_and_bindings -> let_binding . 
    let_and_bindings -> let_binding . 'AND' let_and_bindings
  actions:    action 'EOF' (noprec):   reduce let_and_bindings --> let_binding
    action 'TYPE' (noprec):   reduce let_and_bindings --> let_binding
    action 'EQ' (noprec):   reduce let_and_bindings --> let_binding
    action 'STAR' (noprec):   reduce let_and_bindings --> let_binding
    action 'ARROW' (noprec):   reduce let_and_bindings --> let_binding
    action 'VAL' (noprec):   reduce let_and_bindings --> let_binding
    action 'OVER' (noprec):   reduce let_and_bindings --> let_binding
    action 'BRAGT' (noprec):   reduce let_and_bindings --> let_binding
    action 'LTKET' (noprec):   reduce let_and_bindings --> let_binding
    action 'BRALT' (noprec):   reduce let_and_bindings --> let_binding
    action 'GTKET' (noprec):   reduce let_and_bindings --> let_binding
    action 'HASH' (noprec):   reduce let_and_bindings --> let_binding
    action 'DO' (noprec):   reduce let_and_bindings --> let_binding
    action 'INJECT' (noprec):   reduce let_and_bindings --> let_binding
    action 'EJECT' (noprec):   reduce let_and_bindings --> let_binding
    action 'IMPLIES' (noprec):   reduce let_and_bindings --> let_binding
    action 'DATATYPE' (noprec):   reduce let_and_bindings --> let_binding
    action 'DATA' (noprec):   reduce let_and_bindings --> let_binding
    action 'FORALL' (noprec):   reduce let_and_bindings --> let_binding
    action 'BOTTOM' (noprec):   reduce let_and_bindings --> let_binding
    action 'LET' (noprec):   reduce let_and_bindings --> let_binding
    action 'REC' (noprec):   reduce let_and_bindings --> let_binding
    action 'IN' (noprec):   reduce let_and_bindings --> let_binding
    action 'IF' (noprec):   reduce let_and_bindings --> let_binding
    action 'THEN' (noprec):   reduce let_and_bindings --> let_binding
    action 'ELSE' (noprec):   reduce let_and_bindings --> let_binding
    action 'FUN' (noprec):   reduce let_and_bindings --> let_binding
    action 'MATCH' (noprec):   reduce let_and_bindings --> let_binding
    action 'WHEN' (noprec):   reduce let_and_bindings --> let_binding
    action 'WITH' (noprec):   reduce let_and_bindings --> let_binding
    action 'FUNCTION' (noprec):   reduce let_and_bindings --> let_binding
    action 'TRUE' (noprec):   reduce let_and_bindings --> let_binding
    action 'FALSE' (noprec):   reduce let_and_bindings --> let_binding
    action 'AS' (noprec):   reduce let_and_bindings --> let_binding
    action 'OF' (noprec):   reduce let_and_bindings --> let_binding
    action 'NAMESPACE' (noprec):   reduce let_and_bindings --> let_binding
    action 'OPEN' (noprec):   reduce let_and_bindings --> let_binding
    action 'WHERE' (noprec):   reduce let_and_bindings --> let_binding
    action 'OVERLOAD' (noprec):   reduce let_and_bindings --> let_binding
    action 'DOUBLEAMP' (noprec):   reduce let_and_bindings --> let_binding
    action 'DOUBLEPIPE' (noprec):   reduce let_and_bindings --> let_binding
    action 'UNDERSCORE' (noprec):   reduce let_and_bindings --> let_binding
    action 'BACKSLASH' (noprec):   reduce let_and_bindings --> let_binding
    action 'KIND' (noprec):   reduce let_and_bindings --> let_binding
    action 'QUESTION' (noprec):   reduce let_and_bindings --> let_binding
    action 'BRA' (noprec):   reduce let_and_bindings --> let_binding
    action 'KET' (noprec):   reduce let_and_bindings --> let_binding
    action 'CURBRA' (noprec):   reduce let_and_bindings --> let_binding
    action 'CURKET' (noprec):   reduce let_and_bindings --> let_binding
    action 'SQBRA' (noprec):   reduce let_and_bindings --> let_binding
    action 'SQKET' (noprec):   reduce let_and_bindings --> let_binding
    action 'PLUS' (noprec):   reduce let_and_bindings --> let_binding
    action 'MINUS' (noprec):   reduce let_and_bindings --> let_binding
    action 'SLASH' (noprec):   reduce let_and_bindings --> let_binding
    action 'PLUSDOT' (noprec):   reduce let_and_bindings --> let_binding
    action 'MINUSDOT' (noprec):   reduce let_and_bindings --> let_binding
    action 'MOD' (noprec):   reduce let_and_bindings --> let_binding
    action 'NEQ' (noprec):   reduce let_and_bindings --> let_binding
    action 'LT' (noprec):   reduce let_and_bindings --> let_binding
    action 'GT' (noprec):   reduce let_and_bindings --> let_binding
    action 'LEQ' (noprec):   reduce let_and_bindings --> let_binding
    action 'GEQ' (noprec):   reduce let_and_bindings --> let_binding
    action 'AND' (noprec):   shift 70
    action 'NOT' (noprec):   reduce let_and_bindings --> let_binding
    action 'PIPE' (noprec):   reduce let_and_bindings --> let_binding
    action 'AMP' (noprec):   reduce let_and_bindings --> let_binding
    action 'BANG' (noprec):   reduce let_and_bindings --> let_binding
    action 'COLONGT' (noprec):   reduce let_and_bindings --> let_binding
    action 'COLON' (noprec):   reduce let_and_bindings --> let_binding
    action 'COLON2' (noprec):   reduce let_and_bindings --> let_binding
    action 'SEMICOLON' (noprec):   reduce let_and_bindings --> let_binding
    action 'SEMICOLON2' (noprec):   reduce let_and_bindings --> let_binding
    action 'DOT' (noprec):   reduce let_and_bindings --> let_binding
    action 'COMMA' (noprec):   reduce let_and_bindings --> let_binding
    action 'ASSIGN' (noprec):   reduce let_and_bindings --> let_binding
    action 'STRING' (noprec):   reduce let_and_bindings --> let_binding
    action 'UID' (noprec):   reduce let_and_bindings --> let_binding
    action 'LID' (noprec):   reduce let_and_bindings --> let_binding
    action 'INFIX' (noprec):   reduce let_and_bindings --> let_binding
    action 'TICK_ID' (noprec):   reduce let_and_bindings --> let_binding
    action 'BACKTICK_ID' (noprec):   reduce let_and_bindings --> let_binding
    action 'AT_ID' (noprec):   reduce let_and_bindings --> let_binding
    action 'CHAR' (noprec):   reduce let_and_bindings --> let_binding
    action 'FLOAT' (noprec):   reduce let_and_bindings --> let_binding
    action 'INT32' (noprec):   reduce let_and_bindings --> let_binding
    action 'AT_INT32' (noprec):   reduce let_and_bindings --> let_binding
    action 'error' (noprec):   reduce let_and_bindings --> let_binding
    action '#' (noprec):   reduce let_and_bindings --> let_binding
    action '$$' (noprec):   reduce let_and_bindings --> let_binding
  immediate action: <none>  gotos:state 70:  items:    let_and_bindings -> let_binding 'AND' . let_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 34
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 82
    goto let_and_bindings: 71
    goto let_binding: 69
    goto let_binding_no_qual: 81
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 71:  items:    let_and_bindings -> let_binding 'AND' let_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'TYPE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'EQ' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'STAR' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'ARROW' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'VAL' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'OVER' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BRAGT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'LTKET' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BRALT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'GTKET' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'HASH' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'DO' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'INJECT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'EJECT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'IMPLIES' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'DATATYPE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'DATA' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'FORALL' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BOTTOM' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'LET' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'REC' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'IN' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'IF' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'THEN' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'ELSE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'FUN' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'MATCH' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'WHEN' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'WITH' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'FUNCTION' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'TRUE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'FALSE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'AS' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'OF' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'OPEN' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'WHERE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'KIND' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'QUESTION' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BRA' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'KET' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'CURBRA' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'CURKET' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'SQBRA' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'SQKET' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'PLUS' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'MINUS' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'SLASH' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'MOD' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'NEQ' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'LT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'GT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'LEQ' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'GEQ' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'AND' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'NOT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'PIPE' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'AMP' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BANG' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'COLONGT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'COLON' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'COLON2' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'DOT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'COMMA' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'ASSIGN' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'STRING' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'UID' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'LID' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'INFIX' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'TICK_ID' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'AT_ID' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'CHAR' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'FLOAT' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'INT32' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'AT_INT32' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action 'error' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action '#' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
    action '$$' (noprec):   reduce let_and_bindings --> let_binding 'AND' let_and_bindings
  immediate action:   reduce let_and_bindings --> let_binding 'AND' let_and_bindings  gotos:state 72:  items:    over_and_bindings -> over_binding . 
    over_and_bindings -> over_binding . 'AND' over_and_bindings
  actions:    action 'EOF' (noprec):   reduce over_and_bindings --> over_binding
    action 'TYPE' (noprec):   reduce over_and_bindings --> over_binding
    action 'EQ' (noprec):   reduce over_and_bindings --> over_binding
    action 'STAR' (noprec):   reduce over_and_bindings --> over_binding
    action 'ARROW' (noprec):   reduce over_and_bindings --> over_binding
    action 'VAL' (noprec):   reduce over_and_bindings --> over_binding
    action 'OVER' (noprec):   reduce over_and_bindings --> over_binding
    action 'BRAGT' (noprec):   reduce over_and_bindings --> over_binding
    action 'LTKET' (noprec):   reduce over_and_bindings --> over_binding
    action 'BRALT' (noprec):   reduce over_and_bindings --> over_binding
    action 'GTKET' (noprec):   reduce over_and_bindings --> over_binding
    action 'HASH' (noprec):   reduce over_and_bindings --> over_binding
    action 'DO' (noprec):   reduce over_and_bindings --> over_binding
    action 'INJECT' (noprec):   reduce over_and_bindings --> over_binding
    action 'EJECT' (noprec):   reduce over_and_bindings --> over_binding
    action 'IMPLIES' (noprec):   reduce over_and_bindings --> over_binding
    action 'DATATYPE' (noprec):   reduce over_and_bindings --> over_binding
    action 'DATA' (noprec):   reduce over_and_bindings --> over_binding
    action 'FORALL' (noprec):   reduce over_and_bindings --> over_binding
    action 'BOTTOM' (noprec):   reduce over_and_bindings --> over_binding
    action 'LET' (noprec):   reduce over_and_bindings --> over_binding
    action 'REC' (noprec):   reduce over_and_bindings --> over_binding
    action 'IN' (noprec):   reduce over_and_bindings --> over_binding
    action 'IF' (noprec):   reduce over_and_bindings --> over_binding
    action 'THEN' (noprec):   reduce over_and_bindings --> over_binding
    action 'ELSE' (noprec):   reduce over_and_bindings --> over_binding
    action 'FUN' (noprec):   reduce over_and_bindings --> over_binding
    action 'MATCH' (noprec):   reduce over_and_bindings --> over_binding
    action 'WHEN' (noprec):   reduce over_and_bindings --> over_binding
    action 'WITH' (noprec):   reduce over_and_bindings --> over_binding
    action 'FUNCTION' (noprec):   reduce over_and_bindings --> over_binding
    action 'TRUE' (noprec):   reduce over_and_bindings --> over_binding
    action 'FALSE' (noprec):   reduce over_and_bindings --> over_binding
    action 'AS' (noprec):   reduce over_and_bindings --> over_binding
    action 'OF' (noprec):   reduce over_and_bindings --> over_binding
    action 'NAMESPACE' (noprec):   reduce over_and_bindings --> over_binding
    action 'OPEN' (noprec):   reduce over_and_bindings --> over_binding
    action 'WHERE' (noprec):   reduce over_and_bindings --> over_binding
    action 'OVERLOAD' (noprec):   reduce over_and_bindings --> over_binding
    action 'DOUBLEAMP' (noprec):   reduce over_and_bindings --> over_binding
    action 'DOUBLEPIPE' (noprec):   reduce over_and_bindings --> over_binding
    action 'UNDERSCORE' (noprec):   reduce over_and_bindings --> over_binding
    action 'BACKSLASH' (noprec):   reduce over_and_bindings --> over_binding
    action 'KIND' (noprec):   reduce over_and_bindings --> over_binding
    action 'QUESTION' (noprec):   reduce over_and_bindings --> over_binding
    action 'BRA' (noprec):   reduce over_and_bindings --> over_binding
    action 'KET' (noprec):   reduce over_and_bindings --> over_binding
    action 'CURBRA' (noprec):   reduce over_and_bindings --> over_binding
    action 'CURKET' (noprec):   reduce over_and_bindings --> over_binding
    action 'SQBRA' (noprec):   reduce over_and_bindings --> over_binding
    action 'SQKET' (noprec):   reduce over_and_bindings --> over_binding
    action 'PLUS' (noprec):   reduce over_and_bindings --> over_binding
    action 'MINUS' (noprec):   reduce over_and_bindings --> over_binding
    action 'SLASH' (noprec):   reduce over_and_bindings --> over_binding
    action 'PLUSDOT' (noprec):   reduce over_and_bindings --> over_binding
    action 'MINUSDOT' (noprec):   reduce over_and_bindings --> over_binding
    action 'MOD' (noprec):   reduce over_and_bindings --> over_binding
    action 'NEQ' (noprec):   reduce over_and_bindings --> over_binding
    action 'LT' (noprec):   reduce over_and_bindings --> over_binding
    action 'GT' (noprec):   reduce over_and_bindings --> over_binding
    action 'LEQ' (noprec):   reduce over_and_bindings --> over_binding
    action 'GEQ' (noprec):   reduce over_and_bindings --> over_binding
    action 'AND' (noprec):   shift 73
    action 'NOT' (noprec):   reduce over_and_bindings --> over_binding
    action 'PIPE' (noprec):   reduce over_and_bindings --> over_binding
    action 'AMP' (noprec):   reduce over_and_bindings --> over_binding
    action 'BANG' (noprec):   reduce over_and_bindings --> over_binding
    action 'COLONGT' (noprec):   reduce over_and_bindings --> over_binding
    action 'COLON' (noprec):   reduce over_and_bindings --> over_binding
    action 'COLON2' (noprec):   reduce over_and_bindings --> over_binding
    action 'SEMICOLON' (noprec):   reduce over_and_bindings --> over_binding
    action 'SEMICOLON2' (noprec):   reduce over_and_bindings --> over_binding
    action 'DOT' (noprec):   reduce over_and_bindings --> over_binding
    action 'COMMA' (noprec):   reduce over_and_bindings --> over_binding
    action 'ASSIGN' (noprec):   reduce over_and_bindings --> over_binding
    action 'STRING' (noprec):   reduce over_and_bindings --> over_binding
    action 'UID' (noprec):   reduce over_and_bindings --> over_binding
    action 'LID' (noprec):   reduce over_and_bindings --> over_binding
    action 'INFIX' (noprec):   reduce over_and_bindings --> over_binding
    action 'TICK_ID' (noprec):   reduce over_and_bindings --> over_binding
    action 'BACKTICK_ID' (noprec):   reduce over_and_bindings --> over_binding
    action 'AT_ID' (noprec):   reduce over_and_bindings --> over_binding
    action 'CHAR' (noprec):   reduce over_and_bindings --> over_binding
    action 'FLOAT' (noprec):   reduce over_and_bindings --> over_binding
    action 'INT32' (noprec):   reduce over_and_bindings --> over_binding
    action 'AT_INT32' (noprec):   reduce over_and_bindings --> over_binding
    action 'error' (noprec):   reduce over_and_bindings --> over_binding
    action '#' (noprec):   reduce over_and_bindings --> over_binding
    action '$$' (noprec):   reduce over_and_bindings --> over_binding
  immediate action: <none>  gotos:state 73:  items:    over_and_bindings -> over_binding 'AND' . over_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   shift 95
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto over_and_bindings: 74
    goto over_binding: 72
state 74:  items:    over_and_bindings -> over_binding 'AND' over_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'TYPE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'EQ' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'STAR' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'ARROW' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'VAL' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'OVER' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BRAGT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'LTKET' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BRALT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'GTKET' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'HASH' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'DO' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'INJECT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'EJECT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'IMPLIES' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'DATATYPE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'DATA' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'FORALL' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BOTTOM' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'LET' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'REC' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'IN' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'IF' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'THEN' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'ELSE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'FUN' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'MATCH' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'WHEN' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'WITH' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'FUNCTION' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'TRUE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'FALSE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'AS' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'OF' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'NAMESPACE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'OPEN' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'WHERE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'OVERLOAD' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'UNDERSCORE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BACKSLASH' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'KIND' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'QUESTION' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BRA' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'KET' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'CURBRA' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'CURKET' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'SQBRA' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'SQKET' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'PLUS' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'MINUS' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'SLASH' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'PLUSDOT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'MINUSDOT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'MOD' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'NEQ' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'LT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'GT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'LEQ' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'GEQ' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'AND' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'NOT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'PIPE' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'AMP' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BANG' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'COLONGT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'COLON' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'COLON2' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'SEMICOLON' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'SEMICOLON2' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'DOT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'COMMA' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'ASSIGN' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'STRING' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'UID' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'LID' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'INFIX' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'TICK_ID' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'AT_ID' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'CHAR' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'FLOAT' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'INT32' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'AT_INT32' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action 'error' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action '#' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
    action '$$' (noprec):   reduce over_and_bindings --> over_binding 'AND' over_and_bindings
  immediate action:   reduce over_and_bindings --> over_binding 'AND' over_and_bindings  gotos:state 75:  items:    ty_expr_and_bindings -> ty_expr_binding . 
    ty_expr_and_bindings -> ty_expr_binding . 'AND' ty_expr_and_bindings
  actions:    action 'EOF' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'TYPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'EQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'STAR' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'ARROW' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'VAL' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'OVER' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BRAGT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'LTKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BRALT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'GTKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'HASH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'DO' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'INJECT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'EJECT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'IMPLIES' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'DATATYPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'DATA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'FORALL' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BOTTOM' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'LET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'REC' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'IN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'IF' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'THEN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'ELSE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'FUN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'MATCH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'WHEN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'WITH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'FUNCTION' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'TRUE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'FALSE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'AS' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'OF' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'NAMESPACE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'OPEN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'WHERE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'OVERLOAD' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'UNDERSCORE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BACKSLASH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'KIND' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'QUESTION' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BRA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'KET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'CURBRA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'CURKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'SQBRA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'SQKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'PLUS' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'MINUS' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'SLASH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'PLUSDOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'MINUSDOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'MOD' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'NEQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'LT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'GT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'LEQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'GEQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'AND' (noprec):   shift 76
    action 'NOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'PIPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'AMP' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BANG' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'COLONGT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'COLON' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'COLON2' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'SEMICOLON' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'SEMICOLON2' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'DOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'COMMA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'ASSIGN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'STRING' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'UID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'LID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'INFIX' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'TICK_ID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'AT_ID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'CHAR' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'FLOAT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'INT32' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'AT_INT32' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action 'error' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action '#' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
    action '$$' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding
  immediate action: <none>  gotos:state 76:  items:    ty_expr_and_bindings -> ty_expr_binding 'AND' . ty_expr_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 77
    goto ty_expr_binding: 75
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 77:  items:    ty_expr_and_bindings -> ty_expr_binding 'AND' ty_expr_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'TYPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'EQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'STAR' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'ARROW' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'VAL' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'OVER' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BRAGT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'LTKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BRALT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'GTKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'HASH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'DO' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'INJECT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'EJECT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'IMPLIES' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'DATATYPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'DATA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'FORALL' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BOTTOM' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'LET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'REC' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'IN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'IF' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'THEN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'ELSE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'FUN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'MATCH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'WHEN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'WITH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'FUNCTION' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'TRUE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'FALSE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'AS' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'OF' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'NAMESPACE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'OPEN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'WHERE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'OVERLOAD' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'UNDERSCORE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BACKSLASH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'KIND' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'QUESTION' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BRA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'KET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'CURBRA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'CURKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'SQBRA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'SQKET' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'PLUS' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'MINUS' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'SLASH' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'PLUSDOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'MINUSDOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'MOD' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'NEQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'LT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'GT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'LEQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'GEQ' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'AND' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'NOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'PIPE' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'AMP' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BANG' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'COLONGT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'COLON' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'COLON2' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'SEMICOLON' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'SEMICOLON2' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'DOT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'COMMA' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'ASSIGN' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'STRING' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'UID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'LID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'INFIX' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'TICK_ID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'AT_ID' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'CHAR' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'FLOAT' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'INT32' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'AT_INT32' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action 'error' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action '#' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
    action '$$' (noprec):   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings
  immediate action:   reduce ty_expr_and_bindings --> ty_expr_binding 'AND' ty_expr_and_bindings  gotos:state 78:  items:    kind_and_bindings -> kind_binding . 
    kind_and_bindings -> kind_binding . 'AND' kind_and_bindings
  actions:    action 'EOF' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'TYPE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'EQ' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'STAR' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'ARROW' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'VAL' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'OVER' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BRAGT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'LTKET' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BRALT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'GTKET' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'HASH' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'DO' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'INJECT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'EJECT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'IMPLIES' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'DATATYPE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'DATA' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'FORALL' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BOTTOM' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'LET' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'REC' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'IN' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'IF' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'THEN' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'ELSE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'FUN' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'MATCH' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'WHEN' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'WITH' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'FUNCTION' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'TRUE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'FALSE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'AS' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'OF' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'NAMESPACE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'OPEN' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'WHERE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'OVERLOAD' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'DOUBLEAMP' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'DOUBLEPIPE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'UNDERSCORE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BACKSLASH' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'KIND' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'QUESTION' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BRA' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'KET' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'CURBRA' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'CURKET' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'SQBRA' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'SQKET' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'PLUS' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'MINUS' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'SLASH' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'PLUSDOT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'MINUSDOT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'MOD' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'NEQ' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'LT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'GT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'LEQ' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'GEQ' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'AND' (noprec):   shift 79
    action 'NOT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'PIPE' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'AMP' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BANG' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'COLONGT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'COLON' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'COLON2' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'SEMICOLON' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'SEMICOLON2' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'DOT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'COMMA' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'ASSIGN' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'STRING' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'UID' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'LID' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'INFIX' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'TICK_ID' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'BACKTICK_ID' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'AT_ID' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'CHAR' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'FLOAT' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'INT32' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'AT_INT32' (noprec):   reduce kind_and_bindings --> kind_binding
    action 'error' (noprec):   reduce kind_and_bindings --> kind_binding
    action '#' (noprec):   reduce kind_and_bindings --> kind_binding
    action '$$' (noprec):   reduce kind_and_bindings --> kind_binding
  immediate action: <none>  gotos:state 79:  items:    kind_and_bindings -> kind_binding 'AND' . kind_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto kind_and_bindings: 80
    goto kind_binding: 78
    goto id: 109
state 80:  items:    kind_and_bindings -> kind_binding 'AND' kind_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'TYPE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'EQ' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'STAR' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'ARROW' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'VAL' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'OVER' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BRAGT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'LTKET' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BRALT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'GTKET' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'HASH' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'DO' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'INJECT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'EJECT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'IMPLIES' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'DATATYPE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'DATA' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'FORALL' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BOTTOM' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'LET' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'REC' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'IN' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'IF' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'THEN' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'ELSE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'FUN' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'MATCH' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'WHEN' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'WITH' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'FUNCTION' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'TRUE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'FALSE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'AS' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'OF' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'NAMESPACE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'OPEN' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'WHERE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'OVERLOAD' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'UNDERSCORE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BACKSLASH' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'KIND' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'QUESTION' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BRA' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'KET' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'CURBRA' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'CURKET' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'SQBRA' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'SQKET' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'PLUS' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'MINUS' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'SLASH' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'PLUSDOT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'MINUSDOT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'MOD' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'NEQ' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'LT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'GT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'LEQ' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'GEQ' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'AND' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'NOT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'PIPE' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'AMP' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BANG' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'COLONGT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'COLON' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'COLON2' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'SEMICOLON' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'SEMICOLON2' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'DOT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'COMMA' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'ASSIGN' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'STRING' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'UID' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'LID' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'INFIX' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'TICK_ID' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'AT_ID' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'CHAR' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'FLOAT' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'INT32' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'AT_INT32' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action 'error' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action '#' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
    action '$$' (noprec):   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings
  immediate action:   reduce kind_and_bindings --> kind_binding 'AND' kind_and_bindings  gotos:state 81:  items:    let_binding -> let_binding_no_qual . 
  actions:    action 'EOF' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'TYPE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'EQ' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'STAR' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'ARROW' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'VAL' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'OVER' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BRAGT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'LTKET' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BRALT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'GTKET' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'HASH' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'DO' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'INJECT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'EJECT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'IMPLIES' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'DATATYPE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'DATA' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'FORALL' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BOTTOM' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'LET' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'REC' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'IN' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'IF' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'THEN' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'ELSE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'FUN' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'MATCH' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'WHEN' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'WITH' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'FUNCTION' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'TRUE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'FALSE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'AS' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'OF' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'NAMESPACE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'OPEN' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'WHERE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'OVERLOAD' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'DOUBLEAMP' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'DOUBLEPIPE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'UNDERSCORE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BACKSLASH' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'KIND' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'QUESTION' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BRA' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'KET' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'CURBRA' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'CURKET' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'SQBRA' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'SQKET' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'PLUS' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'MINUS' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'SLASH' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'PLUSDOT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'MINUSDOT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'MOD' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'NEQ' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'LT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'GT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'LEQ' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'GEQ' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'AND' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'NOT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'PIPE' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'AMP' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BANG' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'COLONGT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'COLON' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'COLON2' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'SEMICOLON' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'SEMICOLON2' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'DOT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'COMMA' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'ASSIGN' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'STRING' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'UID' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'LID' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'INFIX' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'TICK_ID' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'BACKTICK_ID' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'AT_ID' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'CHAR' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'FLOAT' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'INT32' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'AT_INT32' (noprec):   reduce let_binding --> let_binding_no_qual
    action 'error' (noprec):   reduce let_binding --> let_binding_no_qual
    action '#' (noprec):   reduce let_binding --> let_binding_no_qual
    action '$$' (noprec):   reduce let_binding --> let_binding_no_qual
  immediate action:   reduce let_binding --> let_binding_no_qual  gotos:state 82:  items:    let_binding -> let_quals . let_binding_no_qual
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_binding_no_qual: 83
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 83:  items:    let_binding -> let_quals let_binding_no_qual . 
  actions:    action 'EOF' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'TYPE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'EQ' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'STAR' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'ARROW' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'VAL' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'OVER' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BRAGT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'LTKET' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BRALT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'GTKET' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'HASH' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'DO' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'INJECT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'EJECT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'IMPLIES' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'DATATYPE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'DATA' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'FORALL' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BOTTOM' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'LET' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'REC' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'IN' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'IF' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'THEN' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'ELSE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'FUN' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'MATCH' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'WHEN' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'WITH' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'FUNCTION' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'TRUE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'FALSE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'AS' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'OF' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'NAMESPACE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'OPEN' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'WHERE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'OVERLOAD' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'DOUBLEAMP' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'DOUBLEPIPE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'UNDERSCORE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BACKSLASH' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'KIND' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'QUESTION' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BRA' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'KET' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'CURBRA' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'CURKET' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'SQBRA' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'SQKET' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'PLUS' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'MINUS' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'SLASH' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'PLUSDOT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'MINUSDOT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'MOD' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'NEQ' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'LT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'GT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'LEQ' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'GEQ' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'AND' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'NOT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'PIPE' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'AMP' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BANG' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'COLONGT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'COLON' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'COLON2' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'SEMICOLON' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'SEMICOLON2' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'DOT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'COMMA' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'ASSIGN' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'STRING' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'UID' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'LID' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'INFIX' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'TICK_ID' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'BACKTICK_ID' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'AT_ID' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'CHAR' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'FLOAT' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'INT32' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'AT_INT32' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action 'error' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action '#' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
    action '$$' (noprec):   reduce let_binding --> let_quals let_binding_no_qual
  immediate action:   reduce let_binding --> let_quals let_binding_no_qual  gotos:state 84:  items:    let_binding_no_qual -> patt . 'EQ' expr
    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 85
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 545
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 85:  items:    let_binding_no_qual -> patt 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 86
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 86:  items:    let_binding_no_qual -> patt 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'TYPE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'EQ' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'STAR' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'ARROW' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'VAL' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'OVER' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BRAGT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'LTKET' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BRALT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'GTKET' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'HASH' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'DO' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'INJECT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'EJECT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'IMPLIES' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'DATATYPE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'DATA' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'FORALL' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BOTTOM' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'LET' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'REC' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'IN' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'IF' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'THEN' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'ELSE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'FUN' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'MATCH' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'WHEN' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'WITH' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'FUNCTION' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'TRUE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'FALSE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'AS' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'OF' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'NAMESPACE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'OPEN' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'WHERE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'OVERLOAD' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'DOUBLEAMP' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'DOUBLEPIPE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'UNDERSCORE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BACKSLASH' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'KIND' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'QUESTION' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BRA' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'KET' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'CURBRA' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'CURKET' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'SQBRA' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'SQKET' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'PLUS' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'MINUS' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'SLASH' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'PLUSDOT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'MINUSDOT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'MOD' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'NEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'LT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'GT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'LEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'GEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'AND' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'NOT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'PIPE' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'AMP' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BANG' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'COLONGT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'COLON' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'COLON2' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'SEMICOLON' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'SEMICOLON2' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'DOT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'COMMA' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'ASSIGN' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'STRING' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'UID' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'LID' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'INFIX' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'TICK_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'BACKTICK_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'AT_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'CHAR' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'FLOAT' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'INT32' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'AT_INT32' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action 'error' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action '#' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
    action '$$' (explicit left 9989):   reduce let_binding_no_qual --> patt 'EQ' expr
  immediate action:   reduce let_binding_no_qual --> patt 'EQ' expr  gotos:state 87:  items:    let_binding_no_qual -> patt_app_atom . fun_patt_params 'EQ' expr
    let_binding_no_qual -> patt_app_atom . fun_patt_params 'COLON' ty_expr 'EQ' expr
    patt_tuple_atom_ -> patt_app_atom . 
    patt_tuple_atom_ -> patt_app_atom . 'AS' 'LID'
  actions:    action 'EOF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'TYPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'EQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'STAR' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'ARROW' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'VAL' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'OVER' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BRAGT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LTKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BRALT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'GTKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'HASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DO' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'INJECT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'EJECT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'IMPLIES' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DATATYPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DATA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FORALL' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BOTTOM' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'REC' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'IN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'IF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'THEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'ELSE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FUN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MATCH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'WHEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'WITH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FUNCTION' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9983):   shift 553
    action 'OF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'NAMESPACE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'OPEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'WHERE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'OVERLOAD' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DOUBLEAMP' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'KIND' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'QUESTION' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'PLUS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MINUS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SLASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'PLUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MINUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MOD' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'NEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'GT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'GEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AND' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'NOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'PIPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AMP' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BANG' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COLONGT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COLON' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COLON2' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SEMICOLON' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SEMICOLON2' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COMMA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'ASSIGN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'TICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'error' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action '#' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action '$$' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
  immediate action: <none>  gotos:    goto fun_patt_param: 124
    goto fun_patt_params: 88
    goto lit: 568
    goto patt_app_atom: 123
    goto patt_app_atom_: 538
state 88:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params . 'EQ' expr
    let_binding_no_qual -> patt_app_atom fun_patt_params . 'COLON' ty_expr 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 89
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   shift 91
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 89:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 90
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 90:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'TYPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'EQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'STAR' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'ARROW' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'VAL' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'OVER' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BRAGT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'LTKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BRALT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'GTKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'HASH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'DO' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'INJECT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'EJECT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'IMPLIES' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'DATATYPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'DATA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'FORALL' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BOTTOM' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'LET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'REC' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'IN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'IF' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'THEN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'ELSE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'FUN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'MATCH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'WHEN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'WITH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'FUNCTION' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'TRUE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'FALSE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'AS' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'OF' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'NAMESPACE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'OPEN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'WHERE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'OVERLOAD' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'DOUBLEAMP' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'DOUBLEPIPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'UNDERSCORE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BACKSLASH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'KIND' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'QUESTION' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BRA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'KET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'CURBRA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'CURKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'SQBRA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'SQKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'PLUS' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'MINUS' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'SLASH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'PLUSDOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'MINUSDOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'MOD' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'NEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'LT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'GT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'LEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'GEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'AND' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'NOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'PIPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'AMP' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BANG' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'COLONGT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'COLON' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'COLON2' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'SEMICOLON' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'SEMICOLON2' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'DOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'COMMA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'ASSIGN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'STRING' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'UID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'LID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'INFIX' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'TICK_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'BACKTICK_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'AT_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'CHAR' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'FLOAT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'INT32' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'AT_INT32' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action 'error' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action '#' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
    action '$$' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr
  immediate action:   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'EQ' expr  gotos:state 91:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params 'COLON' . ty_expr 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 92
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 92:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params 'COLON' ty_expr . 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 93
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 93:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 94
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 94:  items:    let_binding_no_qual -> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'TYPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'EQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'STAR' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'ARROW' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'VAL' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'OVER' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BRAGT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'LTKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BRALT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'GTKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'HASH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'DO' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'INJECT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'EJECT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'IMPLIES' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'DATATYPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'DATA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'FORALL' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BOTTOM' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'LET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'REC' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'IN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'IF' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'THEN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'ELSE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'FUN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'MATCH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'WHEN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'WITH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'FUNCTION' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'TRUE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'FALSE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'AS' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'OF' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'NAMESPACE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'OPEN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'WHERE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'OVERLOAD' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'DOUBLEAMP' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'DOUBLEPIPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'UNDERSCORE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BACKSLASH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'KIND' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'QUESTION' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BRA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'KET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'CURBRA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'CURKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'SQBRA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'SQKET' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'PLUS' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'MINUS' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'SLASH' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'PLUSDOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'MINUSDOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'MOD' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'NEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'LT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'GT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'LEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'GEQ' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'AND' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'NOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'PIPE' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'AMP' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BANG' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'COLONGT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'COLON' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'COLON2' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'SEMICOLON' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'SEMICOLON2' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'DOT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'COMMA' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'ASSIGN' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'STRING' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'UID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'LID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'INFIX' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'TICK_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'BACKTICK_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'AT_ID' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'CHAR' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'FLOAT' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'INT32' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'AT_INT32' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action 'error' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action '#' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
    action '$$' (explicit left 9989):   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr
  immediate action:   reduce let_binding_no_qual --> patt_app_atom fun_patt_params 'COLON' ty_expr 'EQ' expr  gotos:state 95:  items:    over_binding -> 'LID' . 'COLON' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   shift 96
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 96:  items:    over_binding -> 'LID' 'COLON' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 97
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 97:  items:    over_binding -> 'LID' 'COLON' ty_expr . 
  actions:    action 'EOF' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'TYPE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'EQ' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'STAR' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'ARROW' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'VAL' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'OVER' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BRAGT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'LTKET' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BRALT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'GTKET' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'HASH' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'DO' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'INJECT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'EJECT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'IMPLIES' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'DATATYPE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'DATA' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'FORALL' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BOTTOM' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'LET' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'REC' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'IN' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'IF' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'THEN' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'ELSE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'FUN' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'MATCH' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'WHEN' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'WITH' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'FUNCTION' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'TRUE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'FALSE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'AS' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'OF' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'NAMESPACE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'OPEN' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'WHERE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'OVERLOAD' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'UNDERSCORE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BACKSLASH' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'KIND' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'QUESTION' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BRA' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'KET' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'CURBRA' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'CURKET' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'SQBRA' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'SQKET' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'PLUS' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'MINUS' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'SLASH' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'PLUSDOT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'MINUSDOT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'MOD' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'NEQ' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'LT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'GT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'LEQ' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'GEQ' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'AND' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'NOT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'PIPE' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'AMP' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BANG' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'COLONGT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'COLON' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'COLON2' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'SEMICOLON' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'SEMICOLON2' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'DOT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'COMMA' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'ASSIGN' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'STRING' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'UID' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'LID' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'INFIX' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'TICK_ID' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'AT_ID' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'CHAR' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'FLOAT' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'INT32' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'AT_INT32' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action 'error' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action '#' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
    action '$$' (noprec):   reduce over_binding --> 'LID' 'COLON' ty_expr
  immediate action:   reduce over_binding --> 'LID' 'COLON' ty_expr  gotos:state 98:  items:    ty_expr_binding -> ty_patt . 'EQ' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 99
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 99:  items:    ty_expr_binding -> ty_patt 'EQ' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 100
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 100:  items:    ty_expr_binding -> ty_patt 'EQ' ty_expr . 
  actions:    action 'EOF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'TYPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'EQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'STAR' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'ARROW' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'VAL' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'OVER' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BRAGT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'LTKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BRALT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'GTKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'HASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'DO' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'INJECT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'EJECT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'IMPLIES' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'DATATYPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'DATA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'FORALL' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BOTTOM' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'LET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'REC' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'IN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'IF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'THEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'ELSE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'FUN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'MATCH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'WHEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'WITH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'FUNCTION' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'TRUE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'FALSE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'AS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'OF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'NAMESPACE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'OPEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'WHERE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'OVERLOAD' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'DOUBLEAMP' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'DOUBLEPIPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'UNDERSCORE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BACKSLASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'KIND' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'QUESTION' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'KET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'CURBRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'CURKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'SQBRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'SQKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'PLUS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'MINUS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'SLASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'PLUSDOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'MINUSDOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'MOD' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'NEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'LT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'GT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'LEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'GEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'AND' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'NOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'PIPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'AMP' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BANG' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'COLONGT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'COLON' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'COLON2' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'SEMICOLON' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'SEMICOLON2' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'DOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'COMMA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'ASSIGN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'STRING' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'UID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'LID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'INFIX' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'TICK_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'BACKTICK_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'AT_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'CHAR' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'FLOAT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'INT32' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'AT_INT32' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action 'error' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action '#' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
    action '$$' (explicit left 9989):   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr
  immediate action:   reduce ty_expr_binding --> ty_patt 'EQ' ty_expr  gotos:state 101:  items:    ty_expr_binding -> ty_patt_app_atom . ty_fun_patt_params 'EQ' ty_expr
    ty_expr_binding -> ty_patt_app_atom . ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    ty_patt_tuple_atom_ -> ty_patt_app_atom . 
    ty_patt_tuple_atom_ -> ty_patt_app_atom . 'AS' id
  actions:    action 'EOF' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'TYPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'EQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'STAR' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'ARROW' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'VAL' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'OVER' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BRAGT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LTKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BRALT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'GTKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'HASH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DO' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'INJECT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'EJECT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DATA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FORALL' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'REC' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'IN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'IF' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'THEN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'ELSE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FUN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MATCH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'WHEN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'WITH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'TRUE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FALSE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AS' (explicit left 9983):   shift 301
    action 'OF' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'OPEN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'WHERE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'KIND' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'QUESTION' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'CURBRA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'CURKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SQBRA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SQKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'PLUS' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MINUS' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SLASH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MOD' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'NEQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'GT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LEQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'GEQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AND' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'NOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'PIPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AMP' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BANG' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COLONGT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COLON' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COLON2' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SEMICOLON' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COMMA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'ASSIGN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'STRING' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AT_ID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'CHAR' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FLOAT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'INT32' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'error' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action '#' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action '$$' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
  immediate action: <none>  gotos:    goto ty_fun_patt_params: 102
    goto ty_patt_app_atom: 139
    goto ty_patt_app_atom_: 287
state 102:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params . 'EQ' ty_expr
    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params . 'COLON2' kind 'EQ' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 103
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (explicit right 9988):   shift 105
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 103:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params 'EQ' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 104
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 104:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr . 
  actions:    action 'EOF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'TYPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'EQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'STAR' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'ARROW' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'VAL' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'OVER' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BRAGT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'LTKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BRALT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'GTKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'HASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'DO' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'INJECT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'EJECT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'IMPLIES' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'DATATYPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'DATA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'FORALL' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BOTTOM' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'LET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'REC' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'IN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'IF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'THEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'ELSE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'FUN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'MATCH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'WHEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'WITH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'FUNCTION' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'TRUE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'FALSE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'AS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'OF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'NAMESPACE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'OPEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'WHERE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'OVERLOAD' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'DOUBLEAMP' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'DOUBLEPIPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'UNDERSCORE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BACKSLASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'KIND' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'QUESTION' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'KET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'CURBRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'CURKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'SQBRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'SQKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'PLUS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'MINUS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'SLASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'PLUSDOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'MINUSDOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'MOD' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'NEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'LT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'GT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'LEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'GEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'AND' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'NOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'PIPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'AMP' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BANG' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'COLONGT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'COLON' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'COLON2' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'SEMICOLON' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'SEMICOLON2' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'DOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'COMMA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'ASSIGN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'STRING' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'UID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'LID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'INFIX' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'TICK_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'BACKTICK_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'AT_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'CHAR' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'FLOAT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'INT32' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'AT_INT32' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action 'error' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action '#' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
    action '$$' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr
  immediate action:   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'EQ' ty_expr  gotos:state 105:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params 'COLON2' . kind 'EQ' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 106
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 106:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind . 'EQ' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 107
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 107:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 108
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 108:  items:    ty_expr_binding -> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr . 
  actions:    action 'EOF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'TYPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'EQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'STAR' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'ARROW' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'VAL' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'OVER' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BRAGT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'LTKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BRALT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'GTKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'HASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'DO' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'INJECT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'EJECT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'IMPLIES' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'DATATYPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'DATA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'FORALL' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BOTTOM' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'LET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'REC' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'IN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'IF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'THEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'ELSE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'FUN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'MATCH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'WHEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'WITH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'FUNCTION' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'TRUE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'FALSE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'AS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'OF' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'NAMESPACE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'OPEN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'WHERE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'OVERLOAD' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'DOUBLEAMP' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'DOUBLEPIPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'UNDERSCORE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BACKSLASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'KIND' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'QUESTION' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'KET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'CURBRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'CURKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'SQBRA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'SQKET' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'PLUS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'MINUS' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'SLASH' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'PLUSDOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'MINUSDOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'MOD' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'NEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'LT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'GT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'LEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'GEQ' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'AND' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'NOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'PIPE' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'AMP' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BANG' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'COLONGT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'COLON' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'COLON2' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'SEMICOLON' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'SEMICOLON2' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'DOT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'COMMA' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'ASSIGN' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'STRING' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'UID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'LID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'INFIX' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'TICK_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'BACKTICK_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'AT_ID' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'CHAR' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'FLOAT' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'INT32' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'AT_INT32' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action 'error' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action '#' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
    action '$$' (explicit left 9989):   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr
  immediate action:   reduce ty_expr_binding --> ty_patt_app_atom ty_fun_patt_params 'COLON2' kind 'EQ' ty_expr  gotos:state 109:  items:    kind_binding -> id . 'EQ' kind
    kind_binding -> id . 'TICK_ID' 'EQ' kind
    kind_binding -> id . 'BRA' kind_params 'KET' 'EQ' kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 110
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 115
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 112
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 110:  items:    kind_binding -> id 'EQ' . kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 111
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 111:  items:    kind_binding -> id 'EQ' kind . 
  actions:    action 'EOF' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'TYPE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'EQ' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'STAR' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'ARROW' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'VAL' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'OVER' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BRAGT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'LTKET' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BRALT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'GTKET' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'HASH' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'DO' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'INJECT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'EJECT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'IMPLIES' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'DATATYPE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'DATA' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'FORALL' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BOTTOM' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'LET' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'REC' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'IN' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'IF' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'THEN' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'ELSE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'FUN' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'MATCH' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'WHEN' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'WITH' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'FUNCTION' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'TRUE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'FALSE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'AS' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'OF' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'NAMESPACE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'OPEN' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'WHERE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'OVERLOAD' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'DOUBLEAMP' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'DOUBLEPIPE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'UNDERSCORE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BACKSLASH' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'KIND' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'QUESTION' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BRA' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'KET' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'CURBRA' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'CURKET' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'SQBRA' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'SQKET' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'PLUS' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'MINUS' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'SLASH' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'PLUSDOT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'MINUSDOT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'MOD' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'NEQ' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'LT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'GT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'LEQ' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'GEQ' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'AND' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'NOT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'PIPE' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'AMP' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BANG' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'COLONGT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'COLON' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'COLON2' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'SEMICOLON' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'SEMICOLON2' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'DOT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'COMMA' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'ASSIGN' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'STRING' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'UID' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'LID' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'INFIX' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'TICK_ID' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'BACKTICK_ID' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'AT_ID' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'CHAR' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'FLOAT' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'INT32' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'AT_INT32' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action 'error' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action '#' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
    action '$$' (explicit left 9989):   reduce kind_binding --> id 'EQ' kind
  immediate action:   reduce kind_binding --> id 'EQ' kind  gotos:state 112:  items:    kind_binding -> id 'TICK_ID' . 'EQ' kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 113
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 113:  items:    kind_binding -> id 'TICK_ID' 'EQ' . kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 114
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 114:  items:    kind_binding -> id 'TICK_ID' 'EQ' kind . 
  actions:    action 'EOF' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'TYPE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'EQ' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'STAR' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'ARROW' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'VAL' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'OVER' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BRAGT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'LTKET' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BRALT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'GTKET' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'HASH' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'DO' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'INJECT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'EJECT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'IMPLIES' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'DATATYPE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'DATA' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'FORALL' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BOTTOM' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'LET' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'REC' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'IN' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'IF' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'THEN' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'ELSE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'FUN' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'MATCH' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'WHEN' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'WITH' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'FUNCTION' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'TRUE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'FALSE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'AS' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'OF' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'NAMESPACE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'OPEN' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'WHERE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'OVERLOAD' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'DOUBLEAMP' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'DOUBLEPIPE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'UNDERSCORE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BACKSLASH' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'KIND' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'QUESTION' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BRA' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'KET' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'CURBRA' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'CURKET' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'SQBRA' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'SQKET' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'PLUS' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'MINUS' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'SLASH' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'PLUSDOT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'MINUSDOT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'MOD' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'NEQ' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'LT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'GT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'LEQ' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'GEQ' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'AND' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'NOT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'PIPE' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'AMP' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BANG' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'COLONGT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'COLON' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'COLON2' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'SEMICOLON' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'SEMICOLON2' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'DOT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'COMMA' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'ASSIGN' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'STRING' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'UID' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'LID' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'INFIX' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'TICK_ID' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'BACKTICK_ID' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'AT_ID' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'CHAR' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'FLOAT' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'INT32' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'AT_INT32' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action 'error' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action '#' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
    action '$$' (explicit left 9989):   reduce kind_binding --> id 'TICK_ID' 'EQ' kind
  immediate action:   reduce kind_binding --> id 'TICK_ID' 'EQ' kind  gotos:state 115:  items:    kind_binding -> id 'BRA' . kind_params 'KET' 'EQ' kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 120
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto kind_params: 116
state 116:  items:    kind_binding -> id 'BRA' kind_params . 'KET' 'EQ' kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 117
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 117:  items:    kind_binding -> id 'BRA' kind_params 'KET' . 'EQ' kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 118
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 118:  items:    kind_binding -> id 'BRA' kind_params 'KET' 'EQ' . kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 119
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 119:  items:    kind_binding -> id 'BRA' kind_params 'KET' 'EQ' kind . 
  actions:    action 'EOF' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'TYPE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'EQ' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'STAR' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'ARROW' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'VAL' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'OVER' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BRAGT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'LTKET' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BRALT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'GTKET' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'HASH' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'DO' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'INJECT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'EJECT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'IMPLIES' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'DATATYPE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'DATA' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'FORALL' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BOTTOM' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'LET' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'REC' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'IN' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'IF' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'THEN' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'ELSE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'FUN' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'MATCH' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'WHEN' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'WITH' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'FUNCTION' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'TRUE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'FALSE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'AS' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'OF' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'NAMESPACE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'OPEN' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'WHERE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'OVERLOAD' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'DOUBLEAMP' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'DOUBLEPIPE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'UNDERSCORE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BACKSLASH' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'KIND' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'QUESTION' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BRA' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'KET' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'CURBRA' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'CURKET' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'SQBRA' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'SQKET' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'PLUS' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'MINUS' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'SLASH' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'PLUSDOT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'MINUSDOT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'MOD' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'NEQ' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'LT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'GT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'LEQ' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'GEQ' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'AND' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'NOT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'PIPE' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'AMP' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BANG' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'COLONGT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'COLON' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'COLON2' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'SEMICOLON' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'SEMICOLON2' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'DOT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'COMMA' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'ASSIGN' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'STRING' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'UID' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'LID' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'INFIX' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'TICK_ID' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'BACKTICK_ID' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'AT_ID' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'CHAR' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'FLOAT' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'INT32' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'AT_INT32' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action 'error' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action '#' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
    action '$$' (explicit left 9989):   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind
  immediate action:   reduce kind_binding --> id 'BRA' kind_params 'KET' 'EQ' kind  gotos:state 120:  items:    kind_params -> 'TICK_ID' . 
    kind_params -> 'TICK_ID' . 'COMMA' kind_params
  actions:    action 'EOF' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'TYPE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'EQ' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'STAR' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'ARROW' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'VAL' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'OVER' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BRAGT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'LTKET' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BRALT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'GTKET' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'HASH' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'DO' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'INJECT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'EJECT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'IMPLIES' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'DATATYPE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'DATA' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'FORALL' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BOTTOM' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'LET' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'REC' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'IN' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'IF' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'THEN' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'ELSE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'FUN' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'MATCH' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'WHEN' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'WITH' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'FUNCTION' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'TRUE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'FALSE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'AS' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'OF' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'NAMESPACE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'OPEN' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'WHERE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'OVERLOAD' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'UNDERSCORE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BACKSLASH' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'KIND' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'QUESTION' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BRA' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'KET' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'CURBRA' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'CURKET' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'SQBRA' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'SQKET' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'PLUS' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'MINUS' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'SLASH' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'PLUSDOT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'MINUSDOT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'MOD' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'NEQ' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'LT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'GT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'LEQ' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'GEQ' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'AND' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'NOT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'PIPE' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'AMP' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BANG' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'COLONGT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'COLON' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'COLON2' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'SEMICOLON' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'SEMICOLON2' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'DOT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'COMMA' (explicit left 9984):   shift 121
    action 'ASSIGN' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'STRING' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'UID' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'LID' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'INFIX' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'TICK_ID' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'AT_ID' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'CHAR' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'FLOAT' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'INT32' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'AT_INT32' (noprec):   reduce kind_params --> 'TICK_ID'
    action 'error' (noprec):   reduce kind_params --> 'TICK_ID'
    action '#' (noprec):   reduce kind_params --> 'TICK_ID'
    action '$$' (noprec):   reduce kind_params --> 'TICK_ID'
  immediate action: <none>  gotos:state 121:  items:    kind_params -> 'TICK_ID' 'COMMA' . kind_params
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 120
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto kind_params: 122
state 122:  items:    kind_params -> 'TICK_ID' 'COMMA' kind_params . 
  actions:    action 'EOF' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'TYPE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'EQ' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'STAR' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'ARROW' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'VAL' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'OVER' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BRAGT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'LTKET' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BRALT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'GTKET' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'HASH' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'DO' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'INJECT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'EJECT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'IMPLIES' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'DATATYPE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'DATA' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'FORALL' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BOTTOM' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'LET' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'REC' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'IN' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'IF' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'THEN' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'ELSE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'FUN' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'MATCH' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'WHEN' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'WITH' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'FUNCTION' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'TRUE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'FALSE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'AS' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'OF' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'NAMESPACE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'OPEN' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'WHERE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'OVERLOAD' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'DOUBLEAMP' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'DOUBLEPIPE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'UNDERSCORE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BACKSLASH' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'KIND' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'QUESTION' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BRA' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'KET' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'CURBRA' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'CURKET' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'SQBRA' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'SQKET' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'PLUS' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'MINUS' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'SLASH' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'PLUSDOT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'MINUSDOT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'MOD' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'NEQ' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'LT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'GT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'LEQ' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'GEQ' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'AND' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'NOT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'PIPE' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'AMP' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BANG' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'COLONGT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'COLON' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'COLON2' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'SEMICOLON' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'SEMICOLON2' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'DOT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'COMMA' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'ASSIGN' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'STRING' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'UID' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'LID' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'INFIX' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'TICK_ID' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'BACKTICK_ID' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'AT_ID' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'CHAR' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'FLOAT' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'INT32' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'AT_INT32' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action 'error' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action '#' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
    action '$$' (explicit left 9984):   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params
  immediate action:   reduce kind_params --> 'TICK_ID' 'COMMA' kind_params  gotos:state 123:  items:    fun_patt_param -> patt_app_atom . 
  actions:    action 'EOF' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'TYPE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'EQ' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'STAR' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'ARROW' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'VAL' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'OVER' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BRAGT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'LTKET' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BRALT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'GTKET' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'HASH' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'DO' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'INJECT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'EJECT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'IMPLIES' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'DATATYPE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'DATA' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'FORALL' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BOTTOM' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'LET' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'REC' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'IN' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'IF' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'THEN' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'ELSE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'FUN' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'MATCH' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'WHEN' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'WITH' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'FUNCTION' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'TRUE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'FALSE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'AS' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'OF' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'NAMESPACE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'OPEN' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'WHERE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'OVERLOAD' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'DOUBLEAMP' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'UNDERSCORE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BACKSLASH' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'KIND' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'QUESTION' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BRA' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'KET' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'CURBRA' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'CURKET' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'SQBRA' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'SQKET' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'PLUS' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'MINUS' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'SLASH' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'PLUSDOT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'MINUSDOT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'MOD' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'NEQ' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'LT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'GT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'LEQ' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'GEQ' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'AND' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'NOT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'PIPE' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'AMP' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BANG' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'COLONGT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'COLON' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'COLON2' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'SEMICOLON' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'SEMICOLON2' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'DOT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'COMMA' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'ASSIGN' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'STRING' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'UID' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'LID' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'INFIX' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'TICK_ID' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'BACKTICK_ID' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'AT_ID' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'CHAR' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'FLOAT' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'INT32' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'AT_INT32' (noprec):   reduce fun_patt_param --> patt_app_atom
    action 'error' (noprec):   reduce fun_patt_param --> patt_app_atom
    action '#' (noprec):   reduce fun_patt_param --> patt_app_atom
    action '$$' (noprec):   reduce fun_patt_param --> patt_app_atom
  immediate action:   reduce fun_patt_param --> patt_app_atom  gotos:state 124:  items:    fun_patt_params -> fun_patt_param . 
    fun_patt_params -> fun_patt_param . fun_patt_params
  actions:    action 'EOF' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'TYPE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'EQ' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'STAR' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'ARROW' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'VAL' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'OVER' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'BRAGT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'LTKET' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'BRALT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'GTKET' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'HASH' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'DO' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'INJECT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'EJECT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'IMPLIES' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'DATATYPE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'DATA' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'FORALL' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'BOTTOM' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'LET' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'REC' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'IN' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'IF' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'THEN' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'ELSE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'FUN' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'MATCH' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'WHEN' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'WITH' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'FUNCTION' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'OF' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'NAMESPACE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'OPEN' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'WHERE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'OVERLOAD' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'DOUBLEAMP' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'DOUBLEPIPE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'KIND' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'QUESTION' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'PLUS' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'MINUS' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'SLASH' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'PLUSDOT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'MINUSDOT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'MOD' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'NEQ' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'LT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'GT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'LEQ' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'GEQ' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'AND' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'NOT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'PIPE' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'AMP' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'BANG' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'COLONGT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'COLON' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'COLON2' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'SEMICOLON' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'SEMICOLON2' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'DOT' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'COMMA' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'ASSIGN' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'TICK_ID' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   reduce fun_patt_params --> fun_patt_param
    action 'error' (noprec):   reduce fun_patt_params --> fun_patt_param
    action '#' (noprec):   reduce fun_patt_params --> fun_patt_param
    action '$$' (noprec):   reduce fun_patt_params --> fun_patt_param
  immediate action: <none>  gotos:    goto fun_patt_param: 124
    goto fun_patt_params: 125
    goto lit: 568
    goto patt_app_atom: 123
    goto patt_app_atom_: 538
state 125:  items:    fun_patt_params -> fun_patt_param fun_patt_params . 
  actions:    action 'EOF' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'TYPE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'EQ' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'STAR' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'ARROW' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'VAL' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'OVER' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BRAGT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'LTKET' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BRALT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'GTKET' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'HASH' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'DO' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'INJECT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'EJECT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'IMPLIES' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'DATATYPE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'DATA' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'FORALL' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BOTTOM' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'LET' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'REC' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'IN' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'IF' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'THEN' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'ELSE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'FUN' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'MATCH' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'WHEN' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'WITH' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'FUNCTION' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'TRUE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'FALSE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'AS' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'OF' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'NAMESPACE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'OPEN' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'WHERE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'OVERLOAD' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'DOUBLEAMP' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'DOUBLEPIPE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'UNDERSCORE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BACKSLASH' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'KIND' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'QUESTION' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BRA' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'KET' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'CURBRA' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'CURKET' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'SQBRA' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'SQKET' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'PLUS' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'MINUS' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'SLASH' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'PLUSDOT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'MINUSDOT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'MOD' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'NEQ' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'LT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'GT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'LEQ' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'GEQ' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'AND' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'NOT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'PIPE' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'AMP' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BANG' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'COLONGT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'COLON' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'COLON2' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'SEMICOLON' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'SEMICOLON2' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'DOT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'COMMA' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'ASSIGN' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'STRING' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'UID' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'LID' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'INFIX' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'TICK_ID' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'BACKTICK_ID' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'AT_ID' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'CHAR' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'FLOAT' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'INT32' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'AT_INT32' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action 'error' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action '#' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
    action '$$' (noprec):   reduce fun_patt_params --> fun_patt_param fun_patt_params
  immediate action:   reduce fun_patt_params --> fun_patt_param fun_patt_params  gotos:state 126:  items:    fun_param_case -> fun_patt_params . 'ARROW' expr_stmt_atom
    fun_param_case -> fun_patt_params . 'WHEN' expr 'ARROW' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (explicit right 9985):   shift 127
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   shift 129
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 127:  items:    fun_param_case -> fun_patt_params 'ARROW' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 128
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 128:  items:    fun_param_case -> fun_patt_params 'ARROW' expr_stmt_atom . 
  actions:    action 'EOF' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'TYPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'EQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'STAR' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'ARROW' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'VAL' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'OVER' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BRAGT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'LTKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BRALT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'GTKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'HASH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'DO' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'INJECT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'EJECT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'IMPLIES' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'DATATYPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'DATA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'FORALL' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BOTTOM' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'LET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'REC' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'IN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'IF' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'THEN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'ELSE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'FUN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'MATCH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'WHEN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'WITH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'FUNCTION' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'TRUE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'FALSE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'AS' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'OF' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'NAMESPACE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'OPEN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'WHERE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'OVERLOAD' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'DOUBLEAMP' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'UNDERSCORE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BACKSLASH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'KIND' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'QUESTION' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BRA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'KET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'CURBRA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'CURKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'SQBRA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'SQKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'PLUS' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'MINUS' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'SLASH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'PLUSDOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'MINUSDOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'MOD' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'NEQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'LT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'GT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'LEQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'GEQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'AND' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'NOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'PIPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'AMP' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BANG' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'COLONGT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'COLON' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'COLON2' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'SEMICOLON' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'SEMICOLON2' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'DOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'COMMA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'ASSIGN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'STRING' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'UID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'LID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'INFIX' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'TICK_ID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'BACKTICK_ID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'AT_ID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'CHAR' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'FLOAT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'INT32' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'AT_INT32' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action 'error' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action '#' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
    action '$$' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom
  immediate action:   reduce fun_param_case --> fun_patt_params 'ARROW' expr_stmt_atom  gotos:state 129:  items:    fun_param_case -> fun_patt_params 'WHEN' . expr 'ARROW' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 130
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 130:  items:    fun_param_case -> fun_patt_params 'WHEN' expr . 'ARROW' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (explicit right 9985):   shift 131
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 131:  items:    fun_param_case -> fun_patt_params 'WHEN' expr 'ARROW' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 132
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 132:  items:    fun_param_case -> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom . 
  actions:    action 'EOF' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'TYPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'EQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'STAR' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'ARROW' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'VAL' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OVER' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BRAGT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LTKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BRALT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'GTKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'HASH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DO' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'INJECT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'EJECT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'IMPLIES' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DATATYPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DATA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FORALL' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BOTTOM' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'REC' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'IN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'IF' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'THEN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'ELSE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FUN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MATCH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'WHEN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'WITH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FUNCTION' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'TRUE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FALSE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AS' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OF' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'NAMESPACE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OPEN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'WHERE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OVERLOAD' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DOUBLEAMP' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'UNDERSCORE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BACKSLASH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'KIND' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'QUESTION' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BRA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'KET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'CURBRA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'CURKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SQBRA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SQKET' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'PLUS' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MINUS' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SLASH' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'PLUSDOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MINUSDOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MOD' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'NEQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'GT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LEQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'GEQ' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AND' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'NOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'PIPE' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AMP' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BANG' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COLONGT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COLON' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COLON2' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SEMICOLON' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SEMICOLON2' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DOT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COMMA' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'ASSIGN' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'STRING' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'UID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'INFIX' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'TICK_ID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BACKTICK_ID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AT_ID' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'CHAR' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FLOAT' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'INT32' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AT_INT32' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'error' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action '#' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
    action '$$' (explicit right 9985):   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom
  immediate action:   reduce fun_param_case --> fun_patt_params 'WHEN' expr 'ARROW' expr_stmt_atom  gotos:state 133:  items:    fun_param_cases -> fun_param_cases_ . 
  actions:    action 'EOF' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'TYPE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'EQ' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'STAR' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'ARROW' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'VAL' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'OVER' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BRAGT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'LTKET' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BRALT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'GTKET' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'HASH' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'DO' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'INJECT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'EJECT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'IMPLIES' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'DATATYPE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'DATA' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'FORALL' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BOTTOM' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'LET' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'REC' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'IN' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'IF' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'THEN' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'ELSE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'FUN' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'MATCH' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'WHEN' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'WITH' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'FUNCTION' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'TRUE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'FALSE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'AS' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'OF' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'NAMESPACE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'OPEN' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'WHERE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'OVERLOAD' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'DOUBLEAMP' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'DOUBLEPIPE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'UNDERSCORE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BACKSLASH' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'KIND' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'QUESTION' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BRA' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'KET' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'CURBRA' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'CURKET' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'SQBRA' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'SQKET' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'PLUS' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'MINUS' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'SLASH' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'PLUSDOT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'MINUSDOT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'MOD' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'NEQ' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'LT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'GT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'LEQ' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'GEQ' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'AND' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'NOT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'PIPE' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'AMP' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BANG' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'COLONGT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'COLON' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'COLON2' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'SEMICOLON' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'SEMICOLON2' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'DOT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'COMMA' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'ASSIGN' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'STRING' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'UID' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'LID' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'INFIX' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'TICK_ID' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'BACKTICK_ID' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'AT_ID' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'CHAR' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'FLOAT' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'INT32' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'AT_INT32' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action 'error' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action '#' (noprec):   reduce fun_param_cases --> fun_param_cases_
    action '$$' (noprec):   reduce fun_param_cases --> fun_param_cases_
  immediate action:   reduce fun_param_cases --> fun_param_cases_  gotos:state 134:  items:    fun_param_cases -> 'PIPE' . fun_param_cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto fun_patt_param: 124
    goto fun_patt_params: 126
    goto fun_param_case: 136
    goto fun_param_cases_: 135
    goto lit: 568
    goto patt_app_atom: 123
    goto patt_app_atom_: 538
state 135:  items:    fun_param_cases -> 'PIPE' fun_param_cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'TYPE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'EQ' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'STAR' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'ARROW' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'VAL' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'OVER' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BRAGT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'LTKET' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BRALT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'GTKET' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'HASH' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'DO' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'INJECT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'EJECT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'IMPLIES' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'DATATYPE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'DATA' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'FORALL' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BOTTOM' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'LET' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'REC' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'IN' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'IF' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'THEN' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'ELSE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'FUN' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'MATCH' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'WHEN' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'WITH' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'FUNCTION' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'TRUE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'FALSE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'AS' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'OF' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'NAMESPACE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'OPEN' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'WHERE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'OVERLOAD' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BACKSLASH' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'KIND' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'QUESTION' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BRA' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'KET' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'CURBRA' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'CURKET' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'SQBRA' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'SQKET' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'PLUS' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'MINUS' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'SLASH' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'PLUSDOT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'MINUSDOT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'MOD' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'NEQ' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'LT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'GT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'LEQ' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'GEQ' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'AND' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'NOT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'PIPE' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'AMP' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BANG' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'COLONGT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'COLON' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'COLON2' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'SEMICOLON' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'DOT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'COMMA' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'ASSIGN' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'STRING' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'UID' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'LID' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'INFIX' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'TICK_ID' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'AT_ID' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'CHAR' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'FLOAT' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'INT32' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'AT_INT32' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action 'error' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action '#' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
    action '$$' (explicit left 9986):   reduce fun_param_cases --> 'PIPE' fun_param_cases_
  immediate action:   reduce fun_param_cases --> 'PIPE' fun_param_cases_  gotos:state 136:  items:    fun_param_cases_ -> fun_param_case . 
    fun_param_cases_ -> fun_param_case . 'PIPE' fun_param_cases_
  actions:    action 'EOF' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'TYPE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'EQ' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'STAR' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'ARROW' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'VAL' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'OVER' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BRAGT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'LTKET' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BRALT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'GTKET' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'HASH' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'DO' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'INJECT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'EJECT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'IMPLIES' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'DATATYPE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'DATA' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'FORALL' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BOTTOM' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'LET' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'REC' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'IN' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'IF' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'THEN' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'ELSE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'FUN' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'MATCH' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'WHEN' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'WITH' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'FUNCTION' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'TRUE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'FALSE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'AS' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'OF' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'NAMESPACE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'OPEN' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'WHERE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'OVERLOAD' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'DOUBLEAMP' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'DOUBLEPIPE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'UNDERSCORE' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BACKSLASH' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'KIND' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'QUESTION' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BRA' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'KET' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'CURBRA' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'CURKET' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'SQBRA' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'SQKET' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'PLUS' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'MINUS' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'SLASH' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'PLUSDOT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'MINUSDOT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'MOD' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'NEQ' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'LT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'GT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'LEQ' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'GEQ' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'AND' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'NOT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'PIPE' (explicit left 9986):   shift 137
    action 'AMP' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BANG' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'COLONGT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'COLON' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'COLON2' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'SEMICOLON' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'SEMICOLON2' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'DOT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'COMMA' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'ASSIGN' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'STRING' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'UID' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'LID' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'INFIX' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'TICK_ID' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'BACKTICK_ID' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'AT_ID' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'CHAR' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'FLOAT' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'INT32' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'AT_INT32' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action 'error' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action '#' (noprec):   reduce fun_param_cases_ --> fun_param_case
    action '$$' (noprec):   reduce fun_param_cases_ --> fun_param_case
  immediate action: <none>  gotos:state 137:  items:    fun_param_cases_ -> fun_param_case 'PIPE' . fun_param_cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto fun_patt_param: 124
    goto fun_patt_params: 126
    goto fun_param_case: 136
    goto fun_param_cases_: 138
    goto lit: 568
    goto patt_app_atom: 123
    goto patt_app_atom_: 538
state 138:  items:    fun_param_cases_ -> fun_param_case 'PIPE' fun_param_cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'TYPE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'EQ' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'STAR' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'ARROW' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'VAL' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'OVER' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BRAGT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'LTKET' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BRALT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'GTKET' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'HASH' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'DO' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'INJECT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'EJECT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'IMPLIES' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'DATATYPE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'DATA' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'FORALL' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BOTTOM' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'LET' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'REC' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'IN' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'IF' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'THEN' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'ELSE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'FUN' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'MATCH' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'WHEN' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'WITH' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'FUNCTION' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'TRUE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'FALSE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'AS' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'OF' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'NAMESPACE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'OPEN' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'WHERE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'OVERLOAD' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BACKSLASH' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'KIND' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'QUESTION' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BRA' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'KET' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'CURBRA' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'CURKET' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'SQBRA' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'SQKET' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'PLUS' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'MINUS' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'SLASH' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'PLUSDOT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'MINUSDOT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'MOD' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'NEQ' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'LT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'GT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'LEQ' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'GEQ' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'AND' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'NOT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'PIPE' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'AMP' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BANG' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'COLONGT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'COLON' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'COLON2' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'SEMICOLON' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'DOT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'COMMA' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'ASSIGN' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'STRING' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'UID' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'LID' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'INFIX' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'TICK_ID' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'AT_ID' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'CHAR' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'FLOAT' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'INT32' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'AT_INT32' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action 'error' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action '#' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
    action '$$' (explicit left 9986):   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_
  immediate action:   reduce fun_param_cases_ --> fun_param_case 'PIPE' fun_param_cases_  gotos:state 139:  items:    ty_fun_patt_params -> ty_patt_app_atom . 
    ty_fun_patt_params -> ty_patt_app_atom . ty_fun_patt_params
  actions:    action 'EOF' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'TYPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'EQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'STAR' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'ARROW' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'VAL' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'OVER' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'BRAGT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'LTKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'BRALT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'GTKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'HASH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'DO' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'INJECT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'EJECT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'IMPLIES' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'DATATYPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'DATA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'FORALL' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'BOTTOM' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'LET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'REC' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'IN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'IF' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'THEN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'ELSE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'FUN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'MATCH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'WHEN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'WITH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'FUNCTION' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'TRUE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'FALSE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'AS' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'OF' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'NAMESPACE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'OPEN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'WHERE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'OVERLOAD' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'KIND' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'QUESTION' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'CURBRA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'CURKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'SQBRA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'SQKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'PLUS' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'MINUS' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'SLASH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'PLUSDOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'MINUSDOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'MOD' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'NEQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'LT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'GT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'LEQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'GEQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'AND' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'NOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'PIPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'AMP' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'BANG' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'COLONGT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'COLON' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'COLON2' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'SEMICOLON' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'SEMICOLON2' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'DOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'COMMA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'ASSIGN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'STRING' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'TICK_ID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'AT_ID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'CHAR' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'FLOAT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'INT32' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'AT_INT32' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action 'error' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action '#' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
    action '$$' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom
  immediate action: <none>  gotos:    goto ty_fun_patt_params: 140
    goto ty_patt_app_atom: 139
    goto ty_patt_app_atom_: 287
state 140:  items:    ty_fun_patt_params -> ty_patt_app_atom ty_fun_patt_params . 
  actions:    action 'EOF' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'TYPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'EQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'STAR' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'ARROW' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'VAL' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'OVER' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BRAGT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'LTKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BRALT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'GTKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'HASH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'DO' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'INJECT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'EJECT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'IMPLIES' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'DATATYPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'DATA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'FORALL' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BOTTOM' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'LET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'REC' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'IN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'IF' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'THEN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'ELSE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'FUN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'MATCH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'WHEN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'WITH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'FUNCTION' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'TRUE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'FALSE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'AS' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'OF' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'NAMESPACE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'OPEN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'WHERE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'OVERLOAD' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'DOUBLEAMP' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'DOUBLEPIPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'UNDERSCORE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BACKSLASH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'KIND' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'QUESTION' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BRA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'KET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'CURBRA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'CURKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'SQBRA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'SQKET' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'PLUS' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'MINUS' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'SLASH' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'PLUSDOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'MINUSDOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'MOD' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'NEQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'LT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'GT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'LEQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'GEQ' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'AND' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'NOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'PIPE' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'AMP' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BANG' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'COLONGT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'COLON' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'COLON2' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'SEMICOLON' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'SEMICOLON2' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'DOT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'COMMA' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'ASSIGN' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'STRING' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'UID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'LID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'INFIX' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'TICK_ID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'BACKTICK_ID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'AT_ID' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'CHAR' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'FLOAT' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'INT32' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'AT_INT32' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action 'error' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action '#' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
    action '$$' (noprec):   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params
  immediate action:   reduce ty_fun_patt_params --> ty_patt_app_atom ty_fun_patt_params  gotos:state 141:  items:    ty_fun_param_case -> ty_fun_patt_params . 'ARROW' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (explicit right 9985):   shift 142
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 142:  items:    ty_fun_param_case -> ty_fun_patt_params 'ARROW' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 143
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 143:  items:    ty_fun_param_case -> ty_fun_patt_params 'ARROW' ty_expr . 
  actions:    action 'EOF' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'TYPE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'EQ' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'STAR' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'ARROW' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'VAL' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'OVER' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BRAGT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'LTKET' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BRALT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'GTKET' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'HASH' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'DO' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'INJECT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'EJECT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'IMPLIES' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'DATATYPE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'DATA' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'FORALL' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BOTTOM' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'LET' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'REC' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'IN' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'IF' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'THEN' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'ELSE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'FUN' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'MATCH' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'WHEN' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'WITH' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'FUNCTION' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'TRUE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'FALSE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'AS' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'OF' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'NAMESPACE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'OPEN' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'WHERE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'OVERLOAD' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'DOUBLEAMP' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'DOUBLEPIPE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'UNDERSCORE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BACKSLASH' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'KIND' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'QUESTION' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BRA' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'KET' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'CURBRA' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'CURKET' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'SQBRA' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'SQKET' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'PLUS' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'MINUS' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'SLASH' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'PLUSDOT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'MINUSDOT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'MOD' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'NEQ' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'LT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'GT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'LEQ' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'GEQ' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'AND' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'NOT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'PIPE' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'AMP' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BANG' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'COLONGT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'COLON' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'COLON2' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'SEMICOLON' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'SEMICOLON2' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'DOT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'COMMA' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'ASSIGN' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'STRING' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'UID' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'LID' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'INFIX' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'TICK_ID' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'BACKTICK_ID' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'AT_ID' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'CHAR' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'FLOAT' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'INT32' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'AT_INT32' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action 'error' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action '#' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
    action '$$' (explicit right 9985):   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr
  immediate action:   reduce ty_fun_param_case --> ty_fun_patt_params 'ARROW' ty_expr  gotos:state 144:  items:    ty_fun_param_cases -> ty_fun_param_cases_ . 
  actions:    action 'EOF' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'TYPE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'EQ' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'STAR' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'ARROW' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'VAL' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'OVER' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BRAGT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'LTKET' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BRALT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'GTKET' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'HASH' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'DO' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'INJECT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'EJECT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'IMPLIES' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'DATATYPE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'DATA' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'FORALL' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BOTTOM' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'LET' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'REC' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'IN' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'IF' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'THEN' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'ELSE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'FUN' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'MATCH' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'WHEN' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'WITH' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'FUNCTION' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'TRUE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'FALSE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'AS' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'OF' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'NAMESPACE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'OPEN' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'WHERE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'OVERLOAD' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'DOUBLEAMP' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'DOUBLEPIPE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'UNDERSCORE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BACKSLASH' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'KIND' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'QUESTION' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BRA' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'KET' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'CURBRA' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'CURKET' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'SQBRA' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'SQKET' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'PLUS' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'MINUS' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'SLASH' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'PLUSDOT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'MINUSDOT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'MOD' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'NEQ' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'LT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'GT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'LEQ' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'GEQ' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'AND' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'NOT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'PIPE' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'AMP' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BANG' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'COLONGT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'COLON' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'COLON2' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'SEMICOLON' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'SEMICOLON2' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'DOT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'COMMA' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'ASSIGN' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'STRING' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'UID' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'LID' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'INFIX' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'TICK_ID' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'BACKTICK_ID' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'AT_ID' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'CHAR' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'FLOAT' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'INT32' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'AT_INT32' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action 'error' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action '#' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
    action '$$' (noprec):   reduce ty_fun_param_cases --> ty_fun_param_cases_
  immediate action:   reduce ty_fun_param_cases --> ty_fun_param_cases_  gotos:state 145:  items:    ty_fun_param_cases -> 'PIPE' . ty_fun_param_cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_fun_patt_params: 141
    goto ty_fun_param_case: 147
    goto ty_fun_param_cases_: 146
    goto ty_patt_app_atom: 139
    goto ty_patt_app_atom_: 287
state 146:  items:    ty_fun_param_cases -> 'PIPE' ty_fun_param_cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'TYPE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'EQ' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'STAR' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'ARROW' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'VAL' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'OVER' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BRAGT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'LTKET' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BRALT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'GTKET' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'HASH' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'DO' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'INJECT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'EJECT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'IMPLIES' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'DATATYPE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'DATA' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'FORALL' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BOTTOM' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'LET' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'REC' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'IN' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'IF' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'THEN' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'ELSE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'FUN' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'MATCH' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'WHEN' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'WITH' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'FUNCTION' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'TRUE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'FALSE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'AS' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'OF' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'NAMESPACE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'OPEN' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'WHERE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'OVERLOAD' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BACKSLASH' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'KIND' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'QUESTION' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BRA' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'KET' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'CURBRA' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'CURKET' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'SQBRA' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'SQKET' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'PLUS' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'MINUS' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'SLASH' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'PLUSDOT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'MINUSDOT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'MOD' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'NEQ' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'LT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'GT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'LEQ' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'GEQ' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'AND' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'NOT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'PIPE' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'AMP' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BANG' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'COLONGT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'COLON' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'COLON2' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'SEMICOLON' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'DOT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'COMMA' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'ASSIGN' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'STRING' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'UID' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'LID' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'INFIX' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'TICK_ID' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'AT_ID' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'CHAR' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'FLOAT' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'INT32' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'AT_INT32' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action 'error' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action '#' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
    action '$$' (explicit left 9986):   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_
  immediate action:   reduce ty_fun_param_cases --> 'PIPE' ty_fun_param_cases_  gotos:state 147:  items:    ty_fun_param_cases_ -> ty_fun_param_case . 
    ty_fun_param_cases_ -> ty_fun_param_case . 'PIPE' ty_fun_param_cases_
  actions:    action 'EOF' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'TYPE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'EQ' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'STAR' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'ARROW' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'VAL' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'OVER' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BRAGT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'LTKET' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BRALT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'GTKET' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'HASH' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'DO' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'INJECT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'EJECT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'IMPLIES' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'DATATYPE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'DATA' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'FORALL' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BOTTOM' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'LET' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'REC' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'IN' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'IF' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'THEN' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'ELSE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'FUN' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'MATCH' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'WHEN' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'WITH' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'FUNCTION' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'TRUE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'FALSE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'AS' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'OF' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'NAMESPACE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'OPEN' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'WHERE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'OVERLOAD' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'DOUBLEAMP' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'DOUBLEPIPE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'UNDERSCORE' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BACKSLASH' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'KIND' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'QUESTION' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BRA' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'KET' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'CURBRA' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'CURKET' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'SQBRA' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'SQKET' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'PLUS' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'MINUS' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'SLASH' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'PLUSDOT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'MINUSDOT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'MOD' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'NEQ' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'LT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'GT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'LEQ' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'GEQ' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'AND' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'NOT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'PIPE' (explicit left 9986):   shift 148
    action 'AMP' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BANG' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'COLONGT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'COLON' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'COLON2' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'SEMICOLON' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'SEMICOLON2' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'DOT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'COMMA' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'ASSIGN' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'STRING' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'UID' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'LID' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'INFIX' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'TICK_ID' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'BACKTICK_ID' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'AT_ID' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'CHAR' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'FLOAT' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'INT32' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'AT_INT32' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action 'error' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action '#' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
    action '$$' (noprec):   reduce ty_fun_param_cases_ --> ty_fun_param_case
  immediate action: <none>  gotos:state 148:  items:    ty_fun_param_cases_ -> ty_fun_param_case 'PIPE' . ty_fun_param_cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_fun_patt_params: 141
    goto ty_fun_param_case: 147
    goto ty_fun_param_cases_: 149
    goto ty_patt_app_atom: 139
    goto ty_patt_app_atom_: 287
state 149:  items:    ty_fun_param_cases_ -> ty_fun_param_case 'PIPE' ty_fun_param_cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'TYPE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'EQ' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'STAR' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'ARROW' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'VAL' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'OVER' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BRAGT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'LTKET' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BRALT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'GTKET' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'HASH' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'DO' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'INJECT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'EJECT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'IMPLIES' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'DATATYPE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'DATA' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'FORALL' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BOTTOM' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'LET' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'REC' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'IN' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'IF' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'THEN' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'ELSE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'FUN' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'MATCH' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'WHEN' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'WITH' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'FUNCTION' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'TRUE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'FALSE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'AS' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'OF' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'NAMESPACE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'OPEN' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'WHERE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'OVERLOAD' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BACKSLASH' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'KIND' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'QUESTION' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BRA' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'KET' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'CURBRA' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'CURKET' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'SQBRA' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'SQKET' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'PLUS' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'MINUS' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'SLASH' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'PLUSDOT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'MINUSDOT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'MOD' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'NEQ' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'LT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'GT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'LEQ' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'GEQ' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'AND' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'NOT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'PIPE' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'AMP' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BANG' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'COLONGT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'COLON' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'COLON2' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'SEMICOLON' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'DOT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'COMMA' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'ASSIGN' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'STRING' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'UID' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'LID' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'INFIX' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'TICK_ID' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'AT_ID' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'CHAR' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'FLOAT' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'INT32' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'AT_INT32' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action 'error' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action '#' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
    action '$$' (explicit left 9986):   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_
  immediate action:   reduce ty_fun_param_cases_ --> ty_fun_param_case 'PIPE' ty_fun_param_cases_  gotos:state 150:  items:    id -> 'UID' . 
  actions:    action 'EOF' (noprec):   reduce id --> 'UID'
    action 'TYPE' (noprec):   reduce id --> 'UID'
    action 'EQ' (noprec):   reduce id --> 'UID'
    action 'STAR' (noprec):   reduce id --> 'UID'
    action 'ARROW' (noprec):   reduce id --> 'UID'
    action 'VAL' (noprec):   reduce id --> 'UID'
    action 'OVER' (noprec):   reduce id --> 'UID'
    action 'BRAGT' (noprec):   reduce id --> 'UID'
    action 'LTKET' (noprec):   reduce id --> 'UID'
    action 'BRALT' (noprec):   reduce id --> 'UID'
    action 'GTKET' (noprec):   reduce id --> 'UID'
    action 'HASH' (noprec):   reduce id --> 'UID'
    action 'DO' (noprec):   reduce id --> 'UID'
    action 'INJECT' (noprec):   reduce id --> 'UID'
    action 'EJECT' (noprec):   reduce id --> 'UID'
    action 'IMPLIES' (noprec):   reduce id --> 'UID'
    action 'DATATYPE' (noprec):   reduce id --> 'UID'
    action 'DATA' (noprec):   reduce id --> 'UID'
    action 'FORALL' (noprec):   reduce id --> 'UID'
    action 'BOTTOM' (noprec):   reduce id --> 'UID'
    action 'LET' (noprec):   reduce id --> 'UID'
    action 'REC' (noprec):   reduce id --> 'UID'
    action 'IN' (noprec):   reduce id --> 'UID'
    action 'IF' (noprec):   reduce id --> 'UID'
    action 'THEN' (noprec):   reduce id --> 'UID'
    action 'ELSE' (noprec):   reduce id --> 'UID'
    action 'FUN' (noprec):   reduce id --> 'UID'
    action 'MATCH' (noprec):   reduce id --> 'UID'
    action 'WHEN' (noprec):   reduce id --> 'UID'
    action 'WITH' (noprec):   reduce id --> 'UID'
    action 'FUNCTION' (noprec):   reduce id --> 'UID'
    action 'TRUE' (noprec):   reduce id --> 'UID'
    action 'FALSE' (noprec):   reduce id --> 'UID'
    action 'AS' (noprec):   reduce id --> 'UID'
    action 'OF' (noprec):   reduce id --> 'UID'
    action 'NAMESPACE' (noprec):   reduce id --> 'UID'
    action 'OPEN' (noprec):   reduce id --> 'UID'
    action 'WHERE' (noprec):   reduce id --> 'UID'
    action 'OVERLOAD' (noprec):   reduce id --> 'UID'
    action 'DOUBLEAMP' (noprec):   reduce id --> 'UID'
    action 'DOUBLEPIPE' (noprec):   reduce id --> 'UID'
    action 'UNDERSCORE' (noprec):   reduce id --> 'UID'
    action 'BACKSLASH' (noprec):   reduce id --> 'UID'
    action 'KIND' (noprec):   reduce id --> 'UID'
    action 'QUESTION' (noprec):   reduce id --> 'UID'
    action 'BRA' (noprec):   reduce id --> 'UID'
    action 'KET' (noprec):   reduce id --> 'UID'
    action 'CURBRA' (noprec):   reduce id --> 'UID'
    action 'CURKET' (noprec):   reduce id --> 'UID'
    action 'SQBRA' (noprec):   reduce id --> 'UID'
    action 'SQKET' (noprec):   reduce id --> 'UID'
    action 'PLUS' (noprec):   reduce id --> 'UID'
    action 'MINUS' (noprec):   reduce id --> 'UID'
    action 'SLASH' (noprec):   reduce id --> 'UID'
    action 'PLUSDOT' (noprec):   reduce id --> 'UID'
    action 'MINUSDOT' (noprec):   reduce id --> 'UID'
    action 'MOD' (noprec):   reduce id --> 'UID'
    action 'NEQ' (noprec):   reduce id --> 'UID'
    action 'LT' (noprec):   reduce id --> 'UID'
    action 'GT' (noprec):   reduce id --> 'UID'
    action 'LEQ' (noprec):   reduce id --> 'UID'
    action 'GEQ' (noprec):   reduce id --> 'UID'
    action 'AND' (noprec):   reduce id --> 'UID'
    action 'NOT' (noprec):   reduce id --> 'UID'
    action 'PIPE' (noprec):   reduce id --> 'UID'
    action 'AMP' (noprec):   reduce id --> 'UID'
    action 'BANG' (noprec):   reduce id --> 'UID'
    action 'COLONGT' (noprec):   reduce id --> 'UID'
    action 'COLON' (noprec):   reduce id --> 'UID'
    action 'COLON2' (noprec):   reduce id --> 'UID'
    action 'SEMICOLON' (noprec):   reduce id --> 'UID'
    action 'SEMICOLON2' (noprec):   reduce id --> 'UID'
    action 'DOT' (noprec):   reduce id --> 'UID'
    action 'COMMA' (noprec):   reduce id --> 'UID'
    action 'ASSIGN' (noprec):   reduce id --> 'UID'
    action 'STRING' (noprec):   reduce id --> 'UID'
    action 'UID' (noprec):   reduce id --> 'UID'
    action 'LID' (noprec):   reduce id --> 'UID'
    action 'INFIX' (noprec):   reduce id --> 'UID'
    action 'TICK_ID' (noprec):   reduce id --> 'UID'
    action 'BACKTICK_ID' (noprec):   reduce id --> 'UID'
    action 'AT_ID' (noprec):   reduce id --> 'UID'
    action 'CHAR' (noprec):   reduce id --> 'UID'
    action 'FLOAT' (noprec):   reduce id --> 'UID'
    action 'INT32' (noprec):   reduce id --> 'UID'
    action 'AT_INT32' (noprec):   reduce id --> 'UID'
    action 'error' (noprec):   reduce id --> 'UID'
    action '#' (noprec):   reduce id --> 'UID'
    action '$$' (noprec):   reduce id --> 'UID'
  immediate action:   reduce id --> 'UID'  gotos:state 151:  items:    id -> 'UID' . 
    patt_app_atom_ -> 'UID' . 
  actions:    action 'EOF' (noprec):   reduce id --> 'UID'
    action 'TYPE' (noprec):   reduce id --> 'UID'
    action 'EQ' (noprec):   reduce id --> 'UID'
    action 'STAR' (noprec):   reduce id --> 'UID'
    action 'ARROW' (noprec):   reduce id --> 'UID'
    action 'VAL' (noprec):   reduce id --> 'UID'
    action 'OVER' (noprec):   reduce id --> 'UID'
    action 'BRAGT' (noprec):   reduce id --> 'UID'
    action 'LTKET' (noprec):   reduce id --> 'UID'
    action 'BRALT' (noprec):   reduce id --> 'UID'
    action 'GTKET' (noprec):   reduce id --> 'UID'
    action 'HASH' (noprec):   reduce id --> 'UID'
    action 'DO' (noprec):   reduce id --> 'UID'
    action 'INJECT' (noprec):   reduce id --> 'UID'
    action 'EJECT' (noprec):   reduce id --> 'UID'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DATATYPE' (noprec):   reduce id --> 'UID'
    action 'DATA' (noprec):   reduce id --> 'UID'
    action 'FORALL' (noprec):   reduce id --> 'UID'
    action 'BOTTOM' (noprec):   reduce id --> 'UID'
    action 'LET' (noprec):   reduce id --> 'UID'
    action 'REC' (noprec):   reduce id --> 'UID'
    action 'IN' (noprec):   reduce id --> 'UID'
    action 'IF' (noprec):   reduce id --> 'UID'
    action 'THEN' (noprec):   reduce id --> 'UID'
    action 'ELSE' (noprec):   reduce id --> 'UID'
    action 'FUN' (noprec):   reduce id --> 'UID'
    action 'MATCH' (noprec):   reduce id --> 'UID'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'WITH' (noprec):   reduce id --> 'UID'
    action 'FUNCTION' (noprec):   reduce id --> 'UID'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'OF' (noprec):   reduce id --> 'UID'
    action 'NAMESPACE' (noprec):   reduce id --> 'UID'
    action 'OPEN' (noprec):   reduce id --> 'UID'
    action 'WHERE' (noprec):   reduce id --> 'UID'
    action 'OVERLOAD' (noprec):   reduce id --> 'UID'
    action 'DOUBLEAMP' (noprec):   reduce id --> 'UID'
    action 'DOUBLEPIPE' (noprec):   reduce id --> 'UID'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BACKSLASH' (noprec):   reduce id --> 'UID'
    action 'KIND' (noprec):   reduce id --> 'UID'
    action 'QUESTION' (noprec):   reduce id --> 'UID'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'KET' (noprec):   reduce id --> 'UID'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'CURKET' (noprec):   reduce id --> 'UID'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SQKET' (noprec):   reduce id --> 'UID'
    action 'PLUS' (noprec):   reduce id --> 'UID'
    action 'MINUS' (noprec):   reduce id --> 'UID'
    action 'SLASH' (noprec):   reduce id --> 'UID'
    action 'PLUSDOT' (noprec):   reduce id --> 'UID'
    action 'MINUSDOT' (noprec):   reduce id --> 'UID'
    action 'MOD' (noprec):   reduce id --> 'UID'
    action 'NEQ' (noprec):   reduce id --> 'UID'
    action 'LT' (noprec):   reduce id --> 'UID'
    action 'GT' (noprec):   reduce id --> 'UID'
    action 'LEQ' (noprec):   reduce id --> 'UID'
    action 'GEQ' (noprec):   reduce id --> 'UID'
    action 'AND' (noprec):   reduce id --> 'UID'
    action 'NOT' (noprec):   reduce id --> 'UID'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BANG' (noprec):   reduce id --> 'UID'
    action 'COLONGT' (noprec):   reduce id --> 'UID'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SEMICOLON' (noprec):   reduce id --> 'UID'
    action 'SEMICOLON2' (noprec):   reduce id --> 'UID'
    action 'DOT' (noprec):   reduce id --> 'UID'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'ASSIGN' (noprec):   reduce id --> 'UID'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'INFIX' (noprec):   reduce id --> 'UID'
    action 'TICK_ID' (noprec):   reduce id --> 'UID'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AT_ID' (noprec):   reduce id --> 'UID'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AT_INT32' (noprec):   reduce id --> 'UID'
    action 'error' (noprec):   reduce id --> 'UID'
    action '#' (noprec):   reduce id --> 'UID'
    action '$$' (noprec):   reduce id --> 'UID'
  immediate action: <none>  gotos:state 152:  items:    id -> 'LID' . 
  actions:    action 'EOF' (noprec):   reduce id --> 'LID'
    action 'TYPE' (noprec):   reduce id --> 'LID'
    action 'EQ' (noprec):   reduce id --> 'LID'
    action 'STAR' (noprec):   reduce id --> 'LID'
    action 'ARROW' (noprec):   reduce id --> 'LID'
    action 'VAL' (noprec):   reduce id --> 'LID'
    action 'OVER' (noprec):   reduce id --> 'LID'
    action 'BRAGT' (noprec):   reduce id --> 'LID'
    action 'LTKET' (noprec):   reduce id --> 'LID'
    action 'BRALT' (noprec):   reduce id --> 'LID'
    action 'GTKET' (noprec):   reduce id --> 'LID'
    action 'HASH' (noprec):   reduce id --> 'LID'
    action 'DO' (noprec):   reduce id --> 'LID'
    action 'INJECT' (noprec):   reduce id --> 'LID'
    action 'EJECT' (noprec):   reduce id --> 'LID'
    action 'IMPLIES' (noprec):   reduce id --> 'LID'
    action 'DATATYPE' (noprec):   reduce id --> 'LID'
    action 'DATA' (noprec):   reduce id --> 'LID'
    action 'FORALL' (noprec):   reduce id --> 'LID'
    action 'BOTTOM' (noprec):   reduce id --> 'LID'
    action 'LET' (noprec):   reduce id --> 'LID'
    action 'REC' (noprec):   reduce id --> 'LID'
    action 'IN' (noprec):   reduce id --> 'LID'
    action 'IF' (noprec):   reduce id --> 'LID'
    action 'THEN' (noprec):   reduce id --> 'LID'
    action 'ELSE' (noprec):   reduce id --> 'LID'
    action 'FUN' (noprec):   reduce id --> 'LID'
    action 'MATCH' (noprec):   reduce id --> 'LID'
    action 'WHEN' (noprec):   reduce id --> 'LID'
    action 'WITH' (noprec):   reduce id --> 'LID'
    action 'FUNCTION' (noprec):   reduce id --> 'LID'
    action 'TRUE' (noprec):   reduce id --> 'LID'
    action 'FALSE' (noprec):   reduce id --> 'LID'
    action 'AS' (noprec):   reduce id --> 'LID'
    action 'OF' (noprec):   reduce id --> 'LID'
    action 'NAMESPACE' (noprec):   reduce id --> 'LID'
    action 'OPEN' (noprec):   reduce id --> 'LID'
    action 'WHERE' (noprec):   reduce id --> 'LID'
    action 'OVERLOAD' (noprec):   reduce id --> 'LID'
    action 'DOUBLEAMP' (noprec):   reduce id --> 'LID'
    action 'DOUBLEPIPE' (noprec):   reduce id --> 'LID'
    action 'UNDERSCORE' (noprec):   reduce id --> 'LID'
    action 'BACKSLASH' (noprec):   reduce id --> 'LID'
    action 'KIND' (noprec):   reduce id --> 'LID'
    action 'QUESTION' (noprec):   reduce id --> 'LID'
    action 'BRA' (noprec):   reduce id --> 'LID'
    action 'KET' (noprec):   reduce id --> 'LID'
    action 'CURBRA' (noprec):   reduce id --> 'LID'
    action 'CURKET' (noprec):   reduce id --> 'LID'
    action 'SQBRA' (noprec):   reduce id --> 'LID'
    action 'SQKET' (noprec):   reduce id --> 'LID'
    action 'PLUS' (noprec):   reduce id --> 'LID'
    action 'MINUS' (noprec):   reduce id --> 'LID'
    action 'SLASH' (noprec):   reduce id --> 'LID'
    action 'PLUSDOT' (noprec):   reduce id --> 'LID'
    action 'MINUSDOT' (noprec):   reduce id --> 'LID'
    action 'MOD' (noprec):   reduce id --> 'LID'
    action 'NEQ' (noprec):   reduce id --> 'LID'
    action 'LT' (noprec):   reduce id --> 'LID'
    action 'GT' (noprec):   reduce id --> 'LID'
    action 'LEQ' (noprec):   reduce id --> 'LID'
    action 'GEQ' (noprec):   reduce id --> 'LID'
    action 'AND' (noprec):   reduce id --> 'LID'
    action 'NOT' (noprec):   reduce id --> 'LID'
    action 'PIPE' (noprec):   reduce id --> 'LID'
    action 'AMP' (noprec):   reduce id --> 'LID'
    action 'BANG' (noprec):   reduce id --> 'LID'
    action 'COLONGT' (noprec):   reduce id --> 'LID'
    action 'COLON' (noprec):   reduce id --> 'LID'
    action 'COLON2' (noprec):   reduce id --> 'LID'
    action 'SEMICOLON' (noprec):   reduce id --> 'LID'
    action 'SEMICOLON2' (noprec):   reduce id --> 'LID'
    action 'DOT' (noprec):   reduce id --> 'LID'
    action 'COMMA' (noprec):   reduce id --> 'LID'
    action 'ASSIGN' (noprec):   reduce id --> 'LID'
    action 'STRING' (noprec):   reduce id --> 'LID'
    action 'UID' (noprec):   reduce id --> 'LID'
    action 'LID' (noprec):   reduce id --> 'LID'
    action 'INFIX' (noprec):   reduce id --> 'LID'
    action 'TICK_ID' (noprec):   reduce id --> 'LID'
    action 'BACKTICK_ID' (noprec):   reduce id --> 'LID'
    action 'AT_ID' (noprec):   reduce id --> 'LID'
    action 'CHAR' (noprec):   reduce id --> 'LID'
    action 'FLOAT' (noprec):   reduce id --> 'LID'
    action 'INT32' (noprec):   reduce id --> 'LID'
    action 'AT_INT32' (noprec):   reduce id --> 'LID'
    action 'error' (noprec):   reduce id --> 'LID'
    action '#' (noprec):   reduce id --> 'LID'
    action '$$' (noprec):   reduce id --> 'LID'
  immediate action:   reduce id --> 'LID'  gotos:state 153:  items:    id -> 'LID' . 
    patt_app_atom_ -> 'LID' . 
  actions:    action 'EOF' (noprec):   reduce id --> 'LID'
    action 'TYPE' (noprec):   reduce id --> 'LID'
    action 'EQ' (noprec):   reduce id --> 'LID'
    action 'STAR' (noprec):   reduce id --> 'LID'
    action 'ARROW' (noprec):   reduce id --> 'LID'
    action 'VAL' (noprec):   reduce id --> 'LID'
    action 'OVER' (noprec):   reduce id --> 'LID'
    action 'BRAGT' (noprec):   reduce id --> 'LID'
    action 'LTKET' (noprec):   reduce id --> 'LID'
    action 'BRALT' (noprec):   reduce id --> 'LID'
    action 'GTKET' (noprec):   reduce id --> 'LID'
    action 'HASH' (noprec):   reduce id --> 'LID'
    action 'DO' (noprec):   reduce id --> 'LID'
    action 'INJECT' (noprec):   reduce id --> 'LID'
    action 'EJECT' (noprec):   reduce id --> 'LID'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DATATYPE' (noprec):   reduce id --> 'LID'
    action 'DATA' (noprec):   reduce id --> 'LID'
    action 'FORALL' (noprec):   reduce id --> 'LID'
    action 'BOTTOM' (noprec):   reduce id --> 'LID'
    action 'LET' (noprec):   reduce id --> 'LID'
    action 'REC' (noprec):   reduce id --> 'LID'
    action 'IN' (noprec):   reduce id --> 'LID'
    action 'IF' (noprec):   reduce id --> 'LID'
    action 'THEN' (noprec):   reduce id --> 'LID'
    action 'ELSE' (noprec):   reduce id --> 'LID'
    action 'FUN' (noprec):   reduce id --> 'LID'
    action 'MATCH' (noprec):   reduce id --> 'LID'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'WITH' (noprec):   reduce id --> 'LID'
    action 'FUNCTION' (noprec):   reduce id --> 'LID'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'OF' (noprec):   reduce id --> 'LID'
    action 'NAMESPACE' (noprec):   reduce id --> 'LID'
    action 'OPEN' (noprec):   reduce id --> 'LID'
    action 'WHERE' (noprec):   reduce id --> 'LID'
    action 'OVERLOAD' (noprec):   reduce id --> 'LID'
    action 'DOUBLEAMP' (noprec):   reduce id --> 'LID'
    action 'DOUBLEPIPE' (noprec):   reduce id --> 'LID'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BACKSLASH' (noprec):   reduce id --> 'LID'
    action 'KIND' (noprec):   reduce id --> 'LID'
    action 'QUESTION' (noprec):   reduce id --> 'LID'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'KET' (noprec):   reduce id --> 'LID'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'CURKET' (noprec):   reduce id --> 'LID'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SQKET' (noprec):   reduce id --> 'LID'
    action 'PLUS' (noprec):   reduce id --> 'LID'
    action 'MINUS' (noprec):   reduce id --> 'LID'
    action 'SLASH' (noprec):   reduce id --> 'LID'
    action 'PLUSDOT' (noprec):   reduce id --> 'LID'
    action 'MINUSDOT' (noprec):   reduce id --> 'LID'
    action 'MOD' (noprec):   reduce id --> 'LID'
    action 'NEQ' (noprec):   reduce id --> 'LID'
    action 'LT' (noprec):   reduce id --> 'LID'
    action 'GT' (noprec):   reduce id --> 'LID'
    action 'LEQ' (noprec):   reduce id --> 'LID'
    action 'GEQ' (noprec):   reduce id --> 'LID'
    action 'AND' (noprec):   reduce id --> 'LID'
    action 'NOT' (noprec):   reduce id --> 'LID'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BANG' (noprec):   reduce id --> 'LID'
    action 'COLONGT' (noprec):   reduce id --> 'LID'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SEMICOLON' (noprec):   reduce id --> 'LID'
    action 'SEMICOLON2' (noprec):   reduce id --> 'LID'
    action 'DOT' (noprec):   reduce id --> 'LID'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'ASSIGN' (noprec):   reduce id --> 'LID'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'INFIX' (noprec):   reduce id --> 'LID'
    action 'TICK_ID' (noprec):   reduce id --> 'LID'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AT_ID' (noprec):   reduce id --> 'LID'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AT_INT32' (noprec):   reduce id --> 'LID'
    action 'error' (noprec):   reduce id --> 'LID'
    action '#' (noprec):   reduce id --> 'LID'
    action '$$' (noprec):   reduce id --> 'LID'
  immediate action: <none>  gotos:state 154:  items:    type_annotated -> 'LID' . 
    type_annotated -> 'LID' . 'COLON' fxty_expr
  actions:    action 'EOF' (noprec):   reduce type_annotated --> 'LID'
    action 'TYPE' (noprec):   reduce type_annotated --> 'LID'
    action 'EQ' (noprec):   reduce type_annotated --> 'LID'
    action 'STAR' (noprec):   reduce type_annotated --> 'LID'
    action 'ARROW' (noprec):   reduce type_annotated --> 'LID'
    action 'VAL' (noprec):   reduce type_annotated --> 'LID'
    action 'OVER' (noprec):   reduce type_annotated --> 'LID'
    action 'BRAGT' (noprec):   reduce type_annotated --> 'LID'
    action 'LTKET' (noprec):   reduce type_annotated --> 'LID'
    action 'BRALT' (noprec):   reduce type_annotated --> 'LID'
    action 'GTKET' (noprec):   reduce type_annotated --> 'LID'
    action 'HASH' (noprec):   reduce type_annotated --> 'LID'
    action 'DO' (noprec):   reduce type_annotated --> 'LID'
    action 'INJECT' (noprec):   reduce type_annotated --> 'LID'
    action 'EJECT' (noprec):   reduce type_annotated --> 'LID'
    action 'IMPLIES' (noprec):   reduce type_annotated --> 'LID'
    action 'DATATYPE' (noprec):   reduce type_annotated --> 'LID'
    action 'DATA' (noprec):   reduce type_annotated --> 'LID'
    action 'FORALL' (noprec):   reduce type_annotated --> 'LID'
    action 'BOTTOM' (noprec):   reduce type_annotated --> 'LID'
    action 'LET' (noprec):   reduce type_annotated --> 'LID'
    action 'REC' (noprec):   reduce type_annotated --> 'LID'
    action 'IN' (noprec):   reduce type_annotated --> 'LID'
    action 'IF' (noprec):   reduce type_annotated --> 'LID'
    action 'THEN' (noprec):   reduce type_annotated --> 'LID'
    action 'ELSE' (noprec):   reduce type_annotated --> 'LID'
    action 'FUN' (noprec):   reduce type_annotated --> 'LID'
    action 'MATCH' (noprec):   reduce type_annotated --> 'LID'
    action 'WHEN' (noprec):   reduce type_annotated --> 'LID'
    action 'WITH' (noprec):   reduce type_annotated --> 'LID'
    action 'FUNCTION' (noprec):   reduce type_annotated --> 'LID'
    action 'TRUE' (noprec):   reduce type_annotated --> 'LID'
    action 'FALSE' (noprec):   reduce type_annotated --> 'LID'
    action 'AS' (noprec):   reduce type_annotated --> 'LID'
    action 'OF' (noprec):   reduce type_annotated --> 'LID'
    action 'NAMESPACE' (noprec):   reduce type_annotated --> 'LID'
    action 'OPEN' (noprec):   reduce type_annotated --> 'LID'
    action 'WHERE' (noprec):   reduce type_annotated --> 'LID'
    action 'OVERLOAD' (noprec):   reduce type_annotated --> 'LID'
    action 'DOUBLEAMP' (noprec):   reduce type_annotated --> 'LID'
    action 'DOUBLEPIPE' (noprec):   reduce type_annotated --> 'LID'
    action 'UNDERSCORE' (noprec):   reduce type_annotated --> 'LID'
    action 'BACKSLASH' (noprec):   reduce type_annotated --> 'LID'
    action 'KIND' (noprec):   reduce type_annotated --> 'LID'
    action 'QUESTION' (noprec):   reduce type_annotated --> 'LID'
    action 'BRA' (noprec):   reduce type_annotated --> 'LID'
    action 'KET' (noprec):   reduce type_annotated --> 'LID'
    action 'CURBRA' (noprec):   reduce type_annotated --> 'LID'
    action 'CURKET' (noprec):   reduce type_annotated --> 'LID'
    action 'SQBRA' (noprec):   reduce type_annotated --> 'LID'
    action 'SQKET' (noprec):   reduce type_annotated --> 'LID'
    action 'PLUS' (noprec):   reduce type_annotated --> 'LID'
    action 'MINUS' (noprec):   reduce type_annotated --> 'LID'
    action 'SLASH' (noprec):   reduce type_annotated --> 'LID'
    action 'PLUSDOT' (noprec):   reduce type_annotated --> 'LID'
    action 'MINUSDOT' (noprec):   reduce type_annotated --> 'LID'
    action 'MOD' (noprec):   reduce type_annotated --> 'LID'
    action 'NEQ' (noprec):   reduce type_annotated --> 'LID'
    action 'LT' (noprec):   reduce type_annotated --> 'LID'
    action 'GT' (noprec):   reduce type_annotated --> 'LID'
    action 'LEQ' (noprec):   reduce type_annotated --> 'LID'
    action 'GEQ' (noprec):   reduce type_annotated --> 'LID'
    action 'AND' (noprec):   reduce type_annotated --> 'LID'
    action 'NOT' (noprec):   reduce type_annotated --> 'LID'
    action 'PIPE' (noprec):   reduce type_annotated --> 'LID'
    action 'AMP' (noprec):   reduce type_annotated --> 'LID'
    action 'BANG' (noprec):   reduce type_annotated --> 'LID'
    action 'COLONGT' (noprec):   reduce type_annotated --> 'LID'
    action 'COLON' (noprec):   shift 155
    action 'COLON2' (noprec):   reduce type_annotated --> 'LID'
    action 'SEMICOLON' (noprec):   reduce type_annotated --> 'LID'
    action 'SEMICOLON2' (noprec):   reduce type_annotated --> 'LID'
    action 'DOT' (noprec):   reduce type_annotated --> 'LID'
    action 'COMMA' (noprec):   reduce type_annotated --> 'LID'
    action 'ASSIGN' (noprec):   reduce type_annotated --> 'LID'
    action 'STRING' (noprec):   reduce type_annotated --> 'LID'
    action 'UID' (noprec):   reduce type_annotated --> 'LID'
    action 'LID' (noprec):   reduce type_annotated --> 'LID'
    action 'INFIX' (noprec):   reduce type_annotated --> 'LID'
    action 'TICK_ID' (noprec):   reduce type_annotated --> 'LID'
    action 'BACKTICK_ID' (noprec):   reduce type_annotated --> 'LID'
    action 'AT_ID' (noprec):   reduce type_annotated --> 'LID'
    action 'CHAR' (noprec):   reduce type_annotated --> 'LID'
    action 'FLOAT' (noprec):   reduce type_annotated --> 'LID'
    action 'INT32' (noprec):   reduce type_annotated --> 'LID'
    action 'AT_INT32' (noprec):   reduce type_annotated --> 'LID'
    action 'error' (noprec):   reduce type_annotated --> 'LID'
    action '#' (noprec):   reduce type_annotated --> 'LID'
    action '$$' (noprec):   reduce type_annotated --> 'LID'
  immediate action: <none>  gotos:state 155:  items:    type_annotated -> 'LID' 'COLON' . fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 156
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 156:  items:    type_annotated -> 'LID' 'COLON' fxty_expr . 
  actions:    action 'EOF' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'TYPE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'EQ' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'STAR' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'ARROW' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'VAL' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'OVER' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BRAGT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'LTKET' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BRALT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'GTKET' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'HASH' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'DO' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'INJECT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'EJECT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'IMPLIES' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'DATATYPE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'DATA' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'FORALL' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BOTTOM' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'LET' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'REC' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'IN' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'IF' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'THEN' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'ELSE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'FUN' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'MATCH' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'WHEN' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'WITH' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'FUNCTION' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'TRUE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'FALSE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'AS' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'OF' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'NAMESPACE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'OPEN' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'WHERE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'OVERLOAD' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'DOUBLEAMP' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'DOUBLEPIPE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'UNDERSCORE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BACKSLASH' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'KIND' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'QUESTION' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BRA' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'KET' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'CURBRA' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'CURKET' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'SQBRA' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'SQKET' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'PLUS' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'MINUS' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'SLASH' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'PLUSDOT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'MINUSDOT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'MOD' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'NEQ' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'LT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'GT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'LEQ' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'GEQ' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'AND' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'NOT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'PIPE' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'AMP' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BANG' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'COLONGT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'COLON' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'COLON2' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'SEMICOLON' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'SEMICOLON2' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'DOT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'COMMA' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'ASSIGN' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'STRING' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'UID' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'LID' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'INFIX' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'TICK_ID' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'BACKTICK_ID' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'AT_ID' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'CHAR' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'FLOAT' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'INT32' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'AT_INT32' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action 'error' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action '#' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
    action '$$' (noprec):   reduce type_annotated --> 'LID' 'COLON' fxty_expr
  immediate action:   reduce type_annotated --> 'LID' 'COLON' fxty_expr  gotos:state 157:  items:    kind -> kind_arrow_atom . 
    kind -> kind_arrow_atom . 'ARROW' kind_arrow_atom
  actions:    action 'EOF' (noprec):   reduce kind --> kind_arrow_atom
    action 'TYPE' (noprec):   reduce kind --> kind_arrow_atom
    action 'EQ' (noprec):   reduce kind --> kind_arrow_atom
    action 'STAR' (noprec):   reduce kind --> kind_arrow_atom
    action 'ARROW' (explicit right 9985):   shift 158
    action 'VAL' (noprec):   reduce kind --> kind_arrow_atom
    action 'OVER' (noprec):   reduce kind --> kind_arrow_atom
    action 'BRAGT' (noprec):   reduce kind --> kind_arrow_atom
    action 'LTKET' (noprec):   reduce kind --> kind_arrow_atom
    action 'BRALT' (noprec):   reduce kind --> kind_arrow_atom
    action 'GTKET' (noprec):   reduce kind --> kind_arrow_atom
    action 'HASH' (noprec):   reduce kind --> kind_arrow_atom
    action 'DO' (noprec):   reduce kind --> kind_arrow_atom
    action 'INJECT' (noprec):   reduce kind --> kind_arrow_atom
    action 'EJECT' (noprec):   reduce kind --> kind_arrow_atom
    action 'IMPLIES' (noprec):   reduce kind --> kind_arrow_atom
    action 'DATATYPE' (noprec):   reduce kind --> kind_arrow_atom
    action 'DATA' (noprec):   reduce kind --> kind_arrow_atom
    action 'FORALL' (noprec):   reduce kind --> kind_arrow_atom
    action 'BOTTOM' (noprec):   reduce kind --> kind_arrow_atom
    action 'LET' (noprec):   reduce kind --> kind_arrow_atom
    action 'REC' (noprec):   reduce kind --> kind_arrow_atom
    action 'IN' (noprec):   reduce kind --> kind_arrow_atom
    action 'IF' (noprec):   reduce kind --> kind_arrow_atom
    action 'THEN' (noprec):   reduce kind --> kind_arrow_atom
    action 'ELSE' (noprec):   reduce kind --> kind_arrow_atom
    action 'FUN' (noprec):   reduce kind --> kind_arrow_atom
    action 'MATCH' (noprec):   reduce kind --> kind_arrow_atom
    action 'WHEN' (noprec):   reduce kind --> kind_arrow_atom
    action 'WITH' (noprec):   reduce kind --> kind_arrow_atom
    action 'FUNCTION' (noprec):   reduce kind --> kind_arrow_atom
    action 'TRUE' (noprec):   reduce kind --> kind_arrow_atom
    action 'FALSE' (noprec):   reduce kind --> kind_arrow_atom
    action 'AS' (noprec):   reduce kind --> kind_arrow_atom
    action 'OF' (noprec):   reduce kind --> kind_arrow_atom
    action 'NAMESPACE' (noprec):   reduce kind --> kind_arrow_atom
    action 'OPEN' (noprec):   reduce kind --> kind_arrow_atom
    action 'WHERE' (noprec):   reduce kind --> kind_arrow_atom
    action 'OVERLOAD' (noprec):   reduce kind --> kind_arrow_atom
    action 'DOUBLEAMP' (noprec):   reduce kind --> kind_arrow_atom
    action 'DOUBLEPIPE' (noprec):   reduce kind --> kind_arrow_atom
    action 'UNDERSCORE' (noprec):   reduce kind --> kind_arrow_atom
    action 'BACKSLASH' (noprec):   reduce kind --> kind_arrow_atom
    action 'KIND' (noprec):   reduce kind --> kind_arrow_atom
    action 'QUESTION' (noprec):   reduce kind --> kind_arrow_atom
    action 'BRA' (noprec):   reduce kind --> kind_arrow_atom
    action 'KET' (noprec):   reduce kind --> kind_arrow_atom
    action 'CURBRA' (noprec):   reduce kind --> kind_arrow_atom
    action 'CURKET' (noprec):   reduce kind --> kind_arrow_atom
    action 'SQBRA' (noprec):   reduce kind --> kind_arrow_atom
    action 'SQKET' (noprec):   reduce kind --> kind_arrow_atom
    action 'PLUS' (noprec):   reduce kind --> kind_arrow_atom
    action 'MINUS' (noprec):   reduce kind --> kind_arrow_atom
    action 'SLASH' (noprec):   reduce kind --> kind_arrow_atom
    action 'PLUSDOT' (noprec):   reduce kind --> kind_arrow_atom
    action 'MINUSDOT' (noprec):   reduce kind --> kind_arrow_atom
    action 'MOD' (noprec):   reduce kind --> kind_arrow_atom
    action 'NEQ' (noprec):   reduce kind --> kind_arrow_atom
    action 'LT' (noprec):   reduce kind --> kind_arrow_atom
    action 'GT' (noprec):   reduce kind --> kind_arrow_atom
    action 'LEQ' (noprec):   reduce kind --> kind_arrow_atom
    action 'GEQ' (noprec):   reduce kind --> kind_arrow_atom
    action 'AND' (noprec):   reduce kind --> kind_arrow_atom
    action 'NOT' (noprec):   reduce kind --> kind_arrow_atom
    action 'PIPE' (noprec):   reduce kind --> kind_arrow_atom
    action 'AMP' (noprec):   reduce kind --> kind_arrow_atom
    action 'BANG' (noprec):   reduce kind --> kind_arrow_atom
    action 'COLONGT' (noprec):   reduce kind --> kind_arrow_atom
    action 'COLON' (noprec):   reduce kind --> kind_arrow_atom
    action 'COLON2' (noprec):   reduce kind --> kind_arrow_atom
    action 'SEMICOLON' (noprec):   reduce kind --> kind_arrow_atom
    action 'SEMICOLON2' (noprec):   reduce kind --> kind_arrow_atom
    action 'DOT' (noprec):   reduce kind --> kind_arrow_atom
    action 'COMMA' (noprec):   reduce kind --> kind_arrow_atom
    action 'ASSIGN' (noprec):   reduce kind --> kind_arrow_atom
    action 'STRING' (noprec):   reduce kind --> kind_arrow_atom
    action 'UID' (noprec):   reduce kind --> kind_arrow_atom
    action 'LID' (noprec):   reduce kind --> kind_arrow_atom
    action 'INFIX' (noprec):   reduce kind --> kind_arrow_atom
    action 'TICK_ID' (noprec):   reduce kind --> kind_arrow_atom
    action 'BACKTICK_ID' (noprec):   reduce kind --> kind_arrow_atom
    action 'AT_ID' (noprec):   reduce kind --> kind_arrow_atom
    action 'CHAR' (noprec):   reduce kind --> kind_arrow_atom
    action 'FLOAT' (noprec):   reduce kind --> kind_arrow_atom
    action 'INT32' (noprec):   reduce kind --> kind_arrow_atom
    action 'AT_INT32' (noprec):   reduce kind --> kind_arrow_atom
    action 'error' (noprec):   reduce kind --> kind_arrow_atom
    action '#' (noprec):   reduce kind --> kind_arrow_atom
    action '$$' (noprec):   reduce kind --> kind_arrow_atom
  immediate action: <none>  gotos:state 158:  items:    kind -> kind_arrow_atom 'ARROW' . kind_arrow_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind_arrow_atom: 159
    goto kind_tuple_atom: 160
state 159:  items:    kind -> kind_arrow_atom 'ARROW' kind_arrow_atom . 
  actions:    action 'EOF' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'TYPE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'EQ' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'STAR' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'ARROW' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'VAL' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'OVER' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BRAGT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'LTKET' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BRALT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'GTKET' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'HASH' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'DO' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'INJECT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'EJECT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'IMPLIES' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'DATATYPE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'DATA' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'FORALL' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BOTTOM' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'LET' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'REC' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'IN' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'IF' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'THEN' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'ELSE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'FUN' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'MATCH' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'WHEN' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'WITH' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'FUNCTION' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'TRUE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'FALSE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'AS' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'OF' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'NAMESPACE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'OPEN' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'WHERE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'OVERLOAD' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'DOUBLEAMP' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'DOUBLEPIPE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'UNDERSCORE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BACKSLASH' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'KIND' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'QUESTION' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BRA' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'KET' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'CURBRA' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'CURKET' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'SQBRA' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'SQKET' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'PLUS' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'MINUS' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'SLASH' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'PLUSDOT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'MINUSDOT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'MOD' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'NEQ' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'LT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'GT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'LEQ' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'GEQ' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'AND' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'NOT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'PIPE' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'AMP' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BANG' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'COLONGT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'COLON' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'COLON2' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'SEMICOLON' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'SEMICOLON2' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'DOT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'COMMA' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'ASSIGN' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'STRING' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'UID' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'LID' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'INFIX' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'TICK_ID' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'BACKTICK_ID' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'AT_ID' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'CHAR' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'FLOAT' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'INT32' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'AT_INT32' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action 'error' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action '#' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
    action '$$' (explicit right 9985):   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom
  immediate action:   reduce kind --> kind_arrow_atom 'ARROW' kind_arrow_atom  gotos:state 160:  items:    kind_arrow_atom -> kind_tuple_atom . 
    kind_arrow_atom -> kind_tuple_atom . 'COMMA' kind_tuple
  actions:    action 'EOF' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'TYPE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'EQ' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'STAR' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'ARROW' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'VAL' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'OVER' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BRAGT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'LTKET' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BRALT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'GTKET' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'HASH' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'DO' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'INJECT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'EJECT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'IMPLIES' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'DATATYPE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'DATA' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'FORALL' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BOTTOM' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'LET' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'REC' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'IN' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'IF' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'THEN' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'ELSE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'FUN' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'MATCH' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'WHEN' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'WITH' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'FUNCTION' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'TRUE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'FALSE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'AS' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'OF' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'NAMESPACE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'OPEN' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'WHERE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'OVERLOAD' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'UNDERSCORE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BACKSLASH' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'KIND' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'QUESTION' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BRA' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'KET' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'CURBRA' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'CURKET' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'SQBRA' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'SQKET' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'PLUS' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'MINUS' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'SLASH' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'PLUSDOT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'MINUSDOT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'MOD' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'NEQ' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'LT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'GT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'LEQ' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'GEQ' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'AND' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'NOT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'PIPE' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'AMP' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BANG' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'COLONGT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'COLON' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'COLON2' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'SEMICOLON' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'DOT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 161
    action 'ASSIGN' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'STRING' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'UID' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'LID' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'INFIX' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'TICK_ID' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'BACKTICK_ID' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'AT_ID' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'CHAR' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'FLOAT' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'INT32' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'AT_INT32' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action 'error' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action '#' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
    action '$$' (noprec):   reduce kind_arrow_atom --> kind_tuple_atom
  immediate action: <none>  gotos:state 161:  items:    kind_arrow_atom -> kind_tuple_atom 'COMMA' . kind_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind_tuple: 162
    goto kind_tuple_atom: 163
state 162:  items:    kind_arrow_atom -> kind_tuple_atom 'COMMA' kind_tuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'TYPE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'EQ' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'STAR' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'ARROW' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'VAL' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OVER' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BRAGT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LTKET' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BRALT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'GTKET' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'HASH' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DO' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'INJECT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'EJECT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'IMPLIES' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DATATYPE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DATA' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FORALL' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BOTTOM' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LET' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'REC' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'IN' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'IF' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'THEN' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'ELSE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FUN' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MATCH' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'WHEN' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'WITH' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FUNCTION' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'TRUE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FALSE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AS' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OF' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'NAMESPACE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OPEN' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'WHERE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OVERLOAD' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'UNDERSCORE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BACKSLASH' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'KIND' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'QUESTION' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BRA' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'KET' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'CURBRA' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'CURKET' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SQBRA' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SQKET' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'PLUS' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MINUS' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SLASH' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'PLUSDOT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MINUSDOT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MOD' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'NEQ' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'GT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LEQ' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'GEQ' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AND' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'NOT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'PIPE' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AMP' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BANG' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COLONGT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COLON' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COLON2' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SEMICOLON' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SEMICOLON2' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DOT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COMMA' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'ASSIGN' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'STRING' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'UID' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LID' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'INFIX' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'TICK_ID' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AT_ID' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'CHAR' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FLOAT' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'INT32' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AT_INT32' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action 'error' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action '#' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
    action '$$' (explicit left 9984):   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple
  immediate action:   reduce kind_arrow_atom --> kind_tuple_atom 'COMMA' kind_tuple  gotos:state 163:  items:    kind_tuple -> kind_tuple_atom . 
    kind_tuple -> kind_tuple_atom . 'COMMA' kind_tuple
  actions:    action 'EOF' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'TYPE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'EQ' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'STAR' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'ARROW' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'VAL' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'OVER' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BRAGT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'LTKET' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BRALT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'GTKET' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'HASH' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'DO' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'INJECT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'EJECT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'IMPLIES' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'DATATYPE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'DATA' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'FORALL' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BOTTOM' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'LET' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'REC' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'IN' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'IF' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'THEN' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'ELSE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'FUN' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'MATCH' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'WHEN' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'WITH' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'FUNCTION' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'TRUE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'FALSE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'AS' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'OF' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'NAMESPACE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'OPEN' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'WHERE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'OVERLOAD' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'UNDERSCORE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BACKSLASH' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'KIND' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'QUESTION' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BRA' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'KET' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'CURBRA' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'CURKET' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'SQBRA' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'SQKET' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'PLUS' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'MINUS' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'SLASH' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'PLUSDOT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'MINUSDOT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'MOD' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'NEQ' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'LT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'GT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'LEQ' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'GEQ' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'AND' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'NOT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'PIPE' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'AMP' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BANG' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'COLONGT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'COLON' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'COLON2' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'SEMICOLON' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'DOT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 164
    action 'ASSIGN' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'STRING' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'UID' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'LID' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'INFIX' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'TICK_ID' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'BACKTICK_ID' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'AT_ID' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'CHAR' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'FLOAT' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'INT32' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'AT_INT32' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action 'error' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action '#' (noprec):   reduce kind_tuple --> kind_tuple_atom
    action '$$' (noprec):   reduce kind_tuple --> kind_tuple_atom
  immediate action: <none>  gotos:state 164:  items:    kind_tuple -> kind_tuple_atom 'COMMA' . kind_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind_tuple: 165
    goto kind_tuple_atom: 163
state 165:  items:    kind_tuple -> kind_tuple_atom 'COMMA' kind_tuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'TYPE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'EQ' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'STAR' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'ARROW' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'VAL' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OVER' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BRAGT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LTKET' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BRALT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'GTKET' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'HASH' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DO' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'INJECT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'EJECT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'IMPLIES' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DATATYPE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DATA' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FORALL' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BOTTOM' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LET' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'REC' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'IN' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'IF' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'THEN' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'ELSE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FUN' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MATCH' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'WHEN' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'WITH' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FUNCTION' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'TRUE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FALSE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AS' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OF' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'NAMESPACE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OPEN' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'WHERE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'OVERLOAD' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'UNDERSCORE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BACKSLASH' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'KIND' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'QUESTION' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BRA' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'KET' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'CURBRA' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'CURKET' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SQBRA' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SQKET' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'PLUS' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MINUS' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SLASH' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'PLUSDOT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MINUSDOT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'MOD' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'NEQ' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'GT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LEQ' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'GEQ' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AND' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'NOT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'PIPE' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AMP' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BANG' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COLONGT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COLON' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COLON2' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SEMICOLON' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'SEMICOLON2' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'DOT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'COMMA' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'ASSIGN' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'STRING' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'UID' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'LID' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'INFIX' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'TICK_ID' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AT_ID' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'CHAR' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'FLOAT' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'INT32' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'AT_INT32' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action 'error' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action '#' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
    action '$$' (explicit left 9984):   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple
  immediate action:   reduce kind_tuple --> kind_tuple_atom 'COMMA' kind_tuple  gotos:state 166:  items:    kind_tuple_atom -> id . 
    kind_tuple_atom -> id . kind_tuple_atom
    kind_tuple_atom -> id . 'BRA' kind_args 'KET'
  actions:    action 'EOF' (noprec):   reduce kind_tuple_atom --> id
    action 'TYPE' (noprec):   reduce kind_tuple_atom --> id
    action 'EQ' (noprec):   reduce kind_tuple_atom --> id
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   reduce kind_tuple_atom --> id
    action 'VAL' (noprec):   reduce kind_tuple_atom --> id
    action 'OVER' (noprec):   reduce kind_tuple_atom --> id
    action 'BRAGT' (noprec):   reduce kind_tuple_atom --> id
    action 'LTKET' (noprec):   reduce kind_tuple_atom --> id
    action 'BRALT' (noprec):   reduce kind_tuple_atom --> id
    action 'GTKET' (noprec):   reduce kind_tuple_atom --> id
    action 'HASH' (noprec):   reduce kind_tuple_atom --> id
    action 'DO' (noprec):   reduce kind_tuple_atom --> id
    action 'INJECT' (noprec):   reduce kind_tuple_atom --> id
    action 'EJECT' (noprec):   reduce kind_tuple_atom --> id
    action 'IMPLIES' (noprec):   reduce kind_tuple_atom --> id
    action 'DATATYPE' (noprec):   reduce kind_tuple_atom --> id
    action 'DATA' (noprec):   reduce kind_tuple_atom --> id
    action 'FORALL' (noprec):   reduce kind_tuple_atom --> id
    action 'BOTTOM' (noprec):   reduce kind_tuple_atom --> id
    action 'LET' (noprec):   reduce kind_tuple_atom --> id
    action 'REC' (noprec):   reduce kind_tuple_atom --> id
    action 'IN' (noprec):   reduce kind_tuple_atom --> id
    action 'IF' (noprec):   reduce kind_tuple_atom --> id
    action 'THEN' (noprec):   reduce kind_tuple_atom --> id
    action 'ELSE' (noprec):   reduce kind_tuple_atom --> id
    action 'FUN' (noprec):   reduce kind_tuple_atom --> id
    action 'MATCH' (noprec):   reduce kind_tuple_atom --> id
    action 'WHEN' (noprec):   reduce kind_tuple_atom --> id
    action 'WITH' (noprec):   reduce kind_tuple_atom --> id
    action 'FUNCTION' (noprec):   reduce kind_tuple_atom --> id
    action 'TRUE' (noprec):   reduce kind_tuple_atom --> id
    action 'FALSE' (noprec):   reduce kind_tuple_atom --> id
    action 'AS' (noprec):   reduce kind_tuple_atom --> id
    action 'OF' (noprec):   reduce kind_tuple_atom --> id
    action 'NAMESPACE' (noprec):   reduce kind_tuple_atom --> id
    action 'OPEN' (noprec):   reduce kind_tuple_atom --> id
    action 'WHERE' (noprec):   reduce kind_tuple_atom --> id
    action 'OVERLOAD' (noprec):   reduce kind_tuple_atom --> id
    action 'DOUBLEAMP' (noprec):   reduce kind_tuple_atom --> id
    action 'DOUBLEPIPE' (noprec):   reduce kind_tuple_atom --> id
    action 'UNDERSCORE' (noprec):   reduce kind_tuple_atom --> id
    action 'BACKSLASH' (noprec):   reduce kind_tuple_atom --> id
    action 'KIND' (noprec):   reduce kind_tuple_atom --> id
    action 'QUESTION' (noprec):   reduce kind_tuple_atom --> id
    action 'BRA' (noprec):   shift 168
    action 'KET' (noprec):   reduce kind_tuple_atom --> id
    action 'CURBRA' (noprec):   reduce kind_tuple_atom --> id
    action 'CURKET' (noprec):   reduce kind_tuple_atom --> id
    action 'SQBRA' (noprec):   reduce kind_tuple_atom --> id
    action 'SQKET' (noprec):   reduce kind_tuple_atom --> id
    action 'PLUS' (noprec):   reduce kind_tuple_atom --> id
    action 'MINUS' (noprec):   reduce kind_tuple_atom --> id
    action 'SLASH' (noprec):   reduce kind_tuple_atom --> id
    action 'PLUSDOT' (noprec):   reduce kind_tuple_atom --> id
    action 'MINUSDOT' (noprec):   reduce kind_tuple_atom --> id
    action 'MOD' (noprec):   reduce kind_tuple_atom --> id
    action 'NEQ' (noprec):   reduce kind_tuple_atom --> id
    action 'LT' (noprec):   reduce kind_tuple_atom --> id
    action 'GT' (noprec):   reduce kind_tuple_atom --> id
    action 'LEQ' (noprec):   reduce kind_tuple_atom --> id
    action 'GEQ' (noprec):   reduce kind_tuple_atom --> id
    action 'AND' (noprec):   reduce kind_tuple_atom --> id
    action 'NOT' (noprec):   reduce kind_tuple_atom --> id
    action 'PIPE' (noprec):   reduce kind_tuple_atom --> id
    action 'AMP' (noprec):   reduce kind_tuple_atom --> id
    action 'BANG' (noprec):   reduce kind_tuple_atom --> id
    action 'COLONGT' (noprec):   reduce kind_tuple_atom --> id
    action 'COLON' (noprec):   reduce kind_tuple_atom --> id
    action 'COLON2' (noprec):   reduce kind_tuple_atom --> id
    action 'SEMICOLON' (noprec):   reduce kind_tuple_atom --> id
    action 'SEMICOLON2' (noprec):   reduce kind_tuple_atom --> id
    action 'DOT' (noprec):   reduce kind_tuple_atom --> id
    action 'COMMA' (noprec):   reduce kind_tuple_atom --> id
    action 'ASSIGN' (noprec):   reduce kind_tuple_atom --> id
    action 'STRING' (noprec):   reduce kind_tuple_atom --> id
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   reduce kind_tuple_atom --> id
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   reduce kind_tuple_atom --> id
    action 'AT_ID' (noprec):   reduce kind_tuple_atom --> id
    action 'CHAR' (noprec):   reduce kind_tuple_atom --> id
    action 'FLOAT' (noprec):   reduce kind_tuple_atom --> id
    action 'INT32' (noprec):   reduce kind_tuple_atom --> id
    action 'AT_INT32' (noprec):   reduce kind_tuple_atom --> id
    action 'error' (noprec):   reduce kind_tuple_atom --> id
    action '#' (noprec):   reduce kind_tuple_atom --> id
    action '$$' (noprec):   reduce kind_tuple_atom --> id
  immediate action: <none>  gotos:    goto id: 166
    goto kind_tuple_atom: 167
state 167:  items:    kind_tuple_atom -> id kind_tuple_atom . 
  actions:    action 'EOF' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'TYPE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'EQ' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'STAR' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'ARROW' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'VAL' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'OVER' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BRAGT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'LTKET' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BRALT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'GTKET' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'HASH' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'DO' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'INJECT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'EJECT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'IMPLIES' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'DATATYPE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'DATA' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'FORALL' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BOTTOM' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'LET' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'REC' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'IN' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'IF' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'THEN' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'ELSE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'FUN' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'MATCH' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'WHEN' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'WITH' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'FUNCTION' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'TRUE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'FALSE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'AS' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'OF' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'NAMESPACE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'OPEN' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'WHERE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'OVERLOAD' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'UNDERSCORE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BACKSLASH' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'KIND' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'QUESTION' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BRA' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'KET' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'CURBRA' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'CURKET' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'SQBRA' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'SQKET' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'PLUS' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'MINUS' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'SLASH' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'PLUSDOT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'MINUSDOT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'MOD' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'NEQ' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'LT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'GT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'LEQ' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'GEQ' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'AND' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'NOT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'PIPE' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'AMP' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BANG' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'COLONGT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'COLON' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'COLON2' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'SEMICOLON' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'DOT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'COMMA' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'ASSIGN' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'STRING' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'UID' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'LID' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'INFIX' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'TICK_ID' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'BACKTICK_ID' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'AT_ID' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'CHAR' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'FLOAT' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'INT32' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'AT_INT32' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action 'error' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action '#' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
    action '$$' (noprec):   reduce kind_tuple_atom --> id kind_tuple_atom
  immediate action:   reduce kind_tuple_atom --> id kind_tuple_atom  gotos:state 168:  items:    kind_tuple_atom -> id 'BRA' . kind_args 'KET'
    kind_tuple_atom -> 'BRA' . kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 175
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
    goto kind_arg: 178
    goto kind_args: 169
state 169:  items:    kind_tuple_atom -> id 'BRA' kind_args . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 170
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 170:  items:    kind_tuple_atom -> id 'BRA' kind_args 'KET' . 
  actions:    action 'EOF' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'TYPE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'EQ' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'STAR' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'ARROW' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'VAL' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'OVER' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BRAGT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'LTKET' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BRALT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'GTKET' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'HASH' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'DO' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'INJECT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'EJECT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'IMPLIES' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'DATATYPE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'DATA' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'FORALL' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BOTTOM' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'LET' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'REC' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'IN' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'IF' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'THEN' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'ELSE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'FUN' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'MATCH' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'WHEN' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'WITH' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'FUNCTION' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'TRUE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'FALSE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'AS' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'OF' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'NAMESPACE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'OPEN' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'WHERE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'OVERLOAD' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'DOUBLEAMP' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'UNDERSCORE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BACKSLASH' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'KIND' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'QUESTION' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BRA' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'KET' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'CURBRA' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'CURKET' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'SQBRA' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'SQKET' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'PLUS' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'MINUS' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'SLASH' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'PLUSDOT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'MINUSDOT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'MOD' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'NEQ' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'LT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'GT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'LEQ' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'GEQ' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'AND' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'NOT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'PIPE' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'AMP' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BANG' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'COLONGT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'COLON' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'COLON2' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'SEMICOLON' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'SEMICOLON2' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'DOT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'COMMA' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'ASSIGN' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'STRING' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'UID' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'LID' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'INFIX' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'TICK_ID' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'BACKTICK_ID' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'AT_ID' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'CHAR' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'FLOAT' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'INT32' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'AT_INT32' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action 'error' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action '#' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
    action '$$' (noprec):   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'
  immediate action:   reduce kind_tuple_atom --> id 'BRA' kind_args 'KET'  gotos:state 171:  items:    kind_tuple_atom -> 'TICK_ID' . 
  actions:    action 'EOF' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'TYPE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'EQ' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'STAR' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'ARROW' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'VAL' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'OVER' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BRAGT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'LTKET' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BRALT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'GTKET' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'HASH' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'DO' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'INJECT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'EJECT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'IMPLIES' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'DATATYPE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'DATA' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'FORALL' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BOTTOM' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'LET' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'REC' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'IN' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'IF' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'THEN' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'ELSE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'FUN' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'MATCH' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'WHEN' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'WITH' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'FUNCTION' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'TRUE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'FALSE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'AS' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'OF' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'NAMESPACE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'OPEN' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'WHERE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'OVERLOAD' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'UNDERSCORE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BACKSLASH' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'KIND' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'QUESTION' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BRA' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'KET' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'CURBRA' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'CURKET' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'SQBRA' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'SQKET' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'PLUS' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'MINUS' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'SLASH' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'PLUSDOT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'MINUSDOT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'MOD' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'NEQ' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'LT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'GT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'LEQ' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'GEQ' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'AND' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'NOT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'PIPE' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'AMP' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BANG' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'COLONGT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'COLON' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'COLON2' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'SEMICOLON' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'SEMICOLON2' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'DOT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'COMMA' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'ASSIGN' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'STRING' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'UID' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'LID' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'INFIX' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'TICK_ID' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'AT_ID' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'CHAR' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'FLOAT' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'INT32' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'AT_INT32' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action 'error' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action '#' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
    action '$$' (noprec):   reduce kind_tuple_atom --> 'TICK_ID'
  immediate action:   reduce kind_tuple_atom --> 'TICK_ID'  gotos:state 172:  items:    kind_tuple_atom -> 'STAR' . 
  actions:    action 'EOF' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'TYPE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'EQ' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'STAR' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'ARROW' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'VAL' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'OVER' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BRAGT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'LTKET' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BRALT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'GTKET' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'HASH' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'DO' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'INJECT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'EJECT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'IMPLIES' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'DATATYPE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'DATA' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'FORALL' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BOTTOM' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'LET' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'REC' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'IN' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'IF' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'THEN' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'ELSE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'FUN' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'MATCH' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'WHEN' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'WITH' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'FUNCTION' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'TRUE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'FALSE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'AS' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'OF' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'NAMESPACE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'OPEN' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'WHERE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'OVERLOAD' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'DOUBLEAMP' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'UNDERSCORE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BACKSLASH' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'KIND' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'QUESTION' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BRA' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'KET' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'CURBRA' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'CURKET' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'SQBRA' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'SQKET' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'PLUS' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'MINUS' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'SLASH' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'PLUSDOT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'MINUSDOT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'MOD' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'NEQ' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'LT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'GT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'LEQ' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'GEQ' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'AND' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'NOT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'PIPE' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'AMP' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BANG' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'COLONGT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'COLON' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'COLON2' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'SEMICOLON' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'SEMICOLON2' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'DOT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'COMMA' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'ASSIGN' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'STRING' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'UID' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'LID' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'INFIX' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'TICK_ID' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'BACKTICK_ID' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'AT_ID' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'CHAR' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'FLOAT' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'INT32' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'AT_INT32' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action 'error' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action '#' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
    action '$$' (explicit left 9992):   reduce kind_tuple_atom --> 'STAR'
  immediate action:   reduce kind_tuple_atom --> 'STAR'  gotos:state 173:  items:    kind_tuple_atom -> 'BRA' . kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 174
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 174:  items:    kind_tuple_atom -> 'BRA' kind . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 176
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 175:  items:    kind_tuple_atom -> 'BRA' kind . 'KET'
    kind_arg -> kind . 
  actions:    action 'EOF' (noprec):   reduce kind_arg --> kind
    action 'TYPE' (noprec):   reduce kind_arg --> kind
    action 'EQ' (noprec):   reduce kind_arg --> kind
    action 'STAR' (noprec):   reduce kind_arg --> kind
    action 'ARROW' (noprec):   reduce kind_arg --> kind
    action 'VAL' (noprec):   reduce kind_arg --> kind
    action 'OVER' (noprec):   reduce kind_arg --> kind
    action 'BRAGT' (noprec):   reduce kind_arg --> kind
    action 'LTKET' (noprec):   reduce kind_arg --> kind
    action 'BRALT' (noprec):   reduce kind_arg --> kind
    action 'GTKET' (noprec):   reduce kind_arg --> kind
    action 'HASH' (noprec):   reduce kind_arg --> kind
    action 'DO' (noprec):   reduce kind_arg --> kind
    action 'INJECT' (noprec):   reduce kind_arg --> kind
    action 'EJECT' (noprec):   reduce kind_arg --> kind
    action 'IMPLIES' (noprec):   reduce kind_arg --> kind
    action 'DATATYPE' (noprec):   reduce kind_arg --> kind
    action 'DATA' (noprec):   reduce kind_arg --> kind
    action 'FORALL' (noprec):   reduce kind_arg --> kind
    action 'BOTTOM' (noprec):   reduce kind_arg --> kind
    action 'LET' (noprec):   reduce kind_arg --> kind
    action 'REC' (noprec):   reduce kind_arg --> kind
    action 'IN' (noprec):   reduce kind_arg --> kind
    action 'IF' (noprec):   reduce kind_arg --> kind
    action 'THEN' (noprec):   reduce kind_arg --> kind
    action 'ELSE' (noprec):   reduce kind_arg --> kind
    action 'FUN' (noprec):   reduce kind_arg --> kind
    action 'MATCH' (noprec):   reduce kind_arg --> kind
    action 'WHEN' (noprec):   reduce kind_arg --> kind
    action 'WITH' (noprec):   reduce kind_arg --> kind
    action 'FUNCTION' (noprec):   reduce kind_arg --> kind
    action 'TRUE' (noprec):   reduce kind_arg --> kind
    action 'FALSE' (noprec):   reduce kind_arg --> kind
    action 'AS' (noprec):   reduce kind_arg --> kind
    action 'OF' (noprec):   reduce kind_arg --> kind
    action 'NAMESPACE' (noprec):   reduce kind_arg --> kind
    action 'OPEN' (noprec):   reduce kind_arg --> kind
    action 'WHERE' (noprec):   reduce kind_arg --> kind
    action 'OVERLOAD' (noprec):   reduce kind_arg --> kind
    action 'DOUBLEAMP' (noprec):   reduce kind_arg --> kind
    action 'DOUBLEPIPE' (noprec):   reduce kind_arg --> kind
    action 'UNDERSCORE' (noprec):   reduce kind_arg --> kind
    action 'BACKSLASH' (noprec):   reduce kind_arg --> kind
    action 'KIND' (noprec):   reduce kind_arg --> kind
    action 'QUESTION' (noprec):   reduce kind_arg --> kind
    action 'BRA' (noprec):   reduce kind_arg --> kind
    action 'KET' (noprec):   shift 176
    action 'CURBRA' (noprec):   reduce kind_arg --> kind
    action 'CURKET' (noprec):   reduce kind_arg --> kind
    action 'SQBRA' (noprec):   reduce kind_arg --> kind
    action 'SQKET' (noprec):   reduce kind_arg --> kind
    action 'PLUS' (noprec):   reduce kind_arg --> kind
    action 'MINUS' (noprec):   reduce kind_arg --> kind
    action 'SLASH' (noprec):   reduce kind_arg --> kind
    action 'PLUSDOT' (noprec):   reduce kind_arg --> kind
    action 'MINUSDOT' (noprec):   reduce kind_arg --> kind
    action 'MOD' (noprec):   reduce kind_arg --> kind
    action 'NEQ' (noprec):   reduce kind_arg --> kind
    action 'LT' (noprec):   reduce kind_arg --> kind
    action 'GT' (noprec):   reduce kind_arg --> kind
    action 'LEQ' (noprec):   reduce kind_arg --> kind
    action 'GEQ' (noprec):   reduce kind_arg --> kind
    action 'AND' (noprec):   reduce kind_arg --> kind
    action 'NOT' (noprec):   reduce kind_arg --> kind
    action 'PIPE' (noprec):   reduce kind_arg --> kind
    action 'AMP' (noprec):   reduce kind_arg --> kind
    action 'BANG' (noprec):   reduce kind_arg --> kind
    action 'COLONGT' (noprec):   reduce kind_arg --> kind
    action 'COLON' (noprec):   reduce kind_arg --> kind
    action 'COLON2' (noprec):   reduce kind_arg --> kind
    action 'SEMICOLON' (noprec):   reduce kind_arg --> kind
    action 'SEMICOLON2' (noprec):   reduce kind_arg --> kind
    action 'DOT' (noprec):   reduce kind_arg --> kind
    action 'COMMA' (noprec):   reduce kind_arg --> kind
    action 'ASSIGN' (noprec):   reduce kind_arg --> kind
    action 'STRING' (noprec):   reduce kind_arg --> kind
    action 'UID' (noprec):   reduce kind_arg --> kind
    action 'LID' (noprec):   reduce kind_arg --> kind
    action 'INFIX' (noprec):   reduce kind_arg --> kind
    action 'TICK_ID' (noprec):   reduce kind_arg --> kind
    action 'BACKTICK_ID' (noprec):   reduce kind_arg --> kind
    action 'AT_ID' (noprec):   reduce kind_arg --> kind
    action 'CHAR' (noprec):   reduce kind_arg --> kind
    action 'FLOAT' (noprec):   reduce kind_arg --> kind
    action 'INT32' (noprec):   reduce kind_arg --> kind
    action 'AT_INT32' (noprec):   reduce kind_arg --> kind
    action 'error' (noprec):   reduce kind_arg --> kind
    action '#' (noprec):   reduce kind_arg --> kind
    action '$$' (noprec):   reduce kind_arg --> kind
  immediate action: <none>  gotos:state 176:  items:    kind_tuple_atom -> 'BRA' kind 'KET' . 
  actions:    action 'EOF' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'TYPE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'EQ' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'STAR' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'ARROW' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'VAL' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'OVER' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BRAGT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'LTKET' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BRALT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'GTKET' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'HASH' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'DO' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'INJECT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'EJECT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'IMPLIES' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'DATATYPE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'DATA' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'FORALL' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BOTTOM' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'LET' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'REC' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'IN' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'IF' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'THEN' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'ELSE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'FUN' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'MATCH' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'WHEN' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'WITH' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'FUNCTION' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'TRUE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'FALSE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'AS' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'OF' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'NAMESPACE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'OPEN' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'WHERE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'OVERLOAD' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'DOUBLEAMP' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'UNDERSCORE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BACKSLASH' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'KIND' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'QUESTION' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BRA' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'KET' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'CURBRA' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'CURKET' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'SQBRA' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'SQKET' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'PLUS' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'MINUS' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'SLASH' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'PLUSDOT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'MINUSDOT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'MOD' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'NEQ' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'LT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'GT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'LEQ' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'GEQ' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'AND' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'NOT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'PIPE' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'AMP' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BANG' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'COLONGT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'COLON' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'COLON2' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'SEMICOLON' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'SEMICOLON2' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'DOT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'COMMA' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'ASSIGN' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'STRING' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'UID' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'LID' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'INFIX' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'TICK_ID' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'BACKTICK_ID' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'AT_ID' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'CHAR' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'FLOAT' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'INT32' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'AT_INT32' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action 'error' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action '#' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
    action '$$' (noprec):   reduce kind_tuple_atom --> 'BRA' kind 'KET'
  immediate action:   reduce kind_tuple_atom --> 'BRA' kind 'KET'  gotos:state 177:  items:    kind_arg -> kind . 
  actions:    action 'EOF' (noprec):   reduce kind_arg --> kind
    action 'TYPE' (noprec):   reduce kind_arg --> kind
    action 'EQ' (noprec):   reduce kind_arg --> kind
    action 'STAR' (noprec):   reduce kind_arg --> kind
    action 'ARROW' (noprec):   reduce kind_arg --> kind
    action 'VAL' (noprec):   reduce kind_arg --> kind
    action 'OVER' (noprec):   reduce kind_arg --> kind
    action 'BRAGT' (noprec):   reduce kind_arg --> kind
    action 'LTKET' (noprec):   reduce kind_arg --> kind
    action 'BRALT' (noprec):   reduce kind_arg --> kind
    action 'GTKET' (noprec):   reduce kind_arg --> kind
    action 'HASH' (noprec):   reduce kind_arg --> kind
    action 'DO' (noprec):   reduce kind_arg --> kind
    action 'INJECT' (noprec):   reduce kind_arg --> kind
    action 'EJECT' (noprec):   reduce kind_arg --> kind
    action 'IMPLIES' (noprec):   reduce kind_arg --> kind
    action 'DATATYPE' (noprec):   reduce kind_arg --> kind
    action 'DATA' (noprec):   reduce kind_arg --> kind
    action 'FORALL' (noprec):   reduce kind_arg --> kind
    action 'BOTTOM' (noprec):   reduce kind_arg --> kind
    action 'LET' (noprec):   reduce kind_arg --> kind
    action 'REC' (noprec):   reduce kind_arg --> kind
    action 'IN' (noprec):   reduce kind_arg --> kind
    action 'IF' (noprec):   reduce kind_arg --> kind
    action 'THEN' (noprec):   reduce kind_arg --> kind
    action 'ELSE' (noprec):   reduce kind_arg --> kind
    action 'FUN' (noprec):   reduce kind_arg --> kind
    action 'MATCH' (noprec):   reduce kind_arg --> kind
    action 'WHEN' (noprec):   reduce kind_arg --> kind
    action 'WITH' (noprec):   reduce kind_arg --> kind
    action 'FUNCTION' (noprec):   reduce kind_arg --> kind
    action 'TRUE' (noprec):   reduce kind_arg --> kind
    action 'FALSE' (noprec):   reduce kind_arg --> kind
    action 'AS' (noprec):   reduce kind_arg --> kind
    action 'OF' (noprec):   reduce kind_arg --> kind
    action 'NAMESPACE' (noprec):   reduce kind_arg --> kind
    action 'OPEN' (noprec):   reduce kind_arg --> kind
    action 'WHERE' (noprec):   reduce kind_arg --> kind
    action 'OVERLOAD' (noprec):   reduce kind_arg --> kind
    action 'DOUBLEAMP' (noprec):   reduce kind_arg --> kind
    action 'DOUBLEPIPE' (noprec):   reduce kind_arg --> kind
    action 'UNDERSCORE' (noprec):   reduce kind_arg --> kind
    action 'BACKSLASH' (noprec):   reduce kind_arg --> kind
    action 'KIND' (noprec):   reduce kind_arg --> kind
    action 'QUESTION' (noprec):   reduce kind_arg --> kind
    action 'BRA' (noprec):   reduce kind_arg --> kind
    action 'KET' (noprec):   reduce kind_arg --> kind
    action 'CURBRA' (noprec):   reduce kind_arg --> kind
    action 'CURKET' (noprec):   reduce kind_arg --> kind
    action 'SQBRA' (noprec):   reduce kind_arg --> kind
    action 'SQKET' (noprec):   reduce kind_arg --> kind
    action 'PLUS' (noprec):   reduce kind_arg --> kind
    action 'MINUS' (noprec):   reduce kind_arg --> kind
    action 'SLASH' (noprec):   reduce kind_arg --> kind
    action 'PLUSDOT' (noprec):   reduce kind_arg --> kind
    action 'MINUSDOT' (noprec):   reduce kind_arg --> kind
    action 'MOD' (noprec):   reduce kind_arg --> kind
    action 'NEQ' (noprec):   reduce kind_arg --> kind
    action 'LT' (noprec):   reduce kind_arg --> kind
    action 'GT' (noprec):   reduce kind_arg --> kind
    action 'LEQ' (noprec):   reduce kind_arg --> kind
    action 'GEQ' (noprec):   reduce kind_arg --> kind
    action 'AND' (noprec):   reduce kind_arg --> kind
    action 'NOT' (noprec):   reduce kind_arg --> kind
    action 'PIPE' (noprec):   reduce kind_arg --> kind
    action 'AMP' (noprec):   reduce kind_arg --> kind
    action 'BANG' (noprec):   reduce kind_arg --> kind
    action 'COLONGT' (noprec):   reduce kind_arg --> kind
    action 'COLON' (noprec):   reduce kind_arg --> kind
    action 'COLON2' (noprec):   reduce kind_arg --> kind
    action 'SEMICOLON' (noprec):   reduce kind_arg --> kind
    action 'SEMICOLON2' (noprec):   reduce kind_arg --> kind
    action 'DOT' (noprec):   reduce kind_arg --> kind
    action 'COMMA' (noprec):   reduce kind_arg --> kind
    action 'ASSIGN' (noprec):   reduce kind_arg --> kind
    action 'STRING' (noprec):   reduce kind_arg --> kind
    action 'UID' (noprec):   reduce kind_arg --> kind
    action 'LID' (noprec):   reduce kind_arg --> kind
    action 'INFIX' (noprec):   reduce kind_arg --> kind
    action 'TICK_ID' (noprec):   reduce kind_arg --> kind
    action 'BACKTICK_ID' (noprec):   reduce kind_arg --> kind
    action 'AT_ID' (noprec):   reduce kind_arg --> kind
    action 'CHAR' (noprec):   reduce kind_arg --> kind
    action 'FLOAT' (noprec):   reduce kind_arg --> kind
    action 'INT32' (noprec):   reduce kind_arg --> kind
    action 'AT_INT32' (noprec):   reduce kind_arg --> kind
    action 'error' (noprec):   reduce kind_arg --> kind
    action '#' (noprec):   reduce kind_arg --> kind
    action '$$' (noprec):   reduce kind_arg --> kind
  immediate action:   reduce kind_arg --> kind  gotos:state 178:  items:    kind_args -> kind_arg . 
    kind_args -> kind_arg . 'COMMA' kind_args
  actions:    action 'EOF' (noprec):   reduce kind_args --> kind_arg
    action 'TYPE' (noprec):   reduce kind_args --> kind_arg
    action 'EQ' (noprec):   reduce kind_args --> kind_arg
    action 'STAR' (noprec):   reduce kind_args --> kind_arg
    action 'ARROW' (noprec):   reduce kind_args --> kind_arg
    action 'VAL' (noprec):   reduce kind_args --> kind_arg
    action 'OVER' (noprec):   reduce kind_args --> kind_arg
    action 'BRAGT' (noprec):   reduce kind_args --> kind_arg
    action 'LTKET' (noprec):   reduce kind_args --> kind_arg
    action 'BRALT' (noprec):   reduce kind_args --> kind_arg
    action 'GTKET' (noprec):   reduce kind_args --> kind_arg
    action 'HASH' (noprec):   reduce kind_args --> kind_arg
    action 'DO' (noprec):   reduce kind_args --> kind_arg
    action 'INJECT' (noprec):   reduce kind_args --> kind_arg
    action 'EJECT' (noprec):   reduce kind_args --> kind_arg
    action 'IMPLIES' (noprec):   reduce kind_args --> kind_arg
    action 'DATATYPE' (noprec):   reduce kind_args --> kind_arg
    action 'DATA' (noprec):   reduce kind_args --> kind_arg
    action 'FORALL' (noprec):   reduce kind_args --> kind_arg
    action 'BOTTOM' (noprec):   reduce kind_args --> kind_arg
    action 'LET' (noprec):   reduce kind_args --> kind_arg
    action 'REC' (noprec):   reduce kind_args --> kind_arg
    action 'IN' (noprec):   reduce kind_args --> kind_arg
    action 'IF' (noprec):   reduce kind_args --> kind_arg
    action 'THEN' (noprec):   reduce kind_args --> kind_arg
    action 'ELSE' (noprec):   reduce kind_args --> kind_arg
    action 'FUN' (noprec):   reduce kind_args --> kind_arg
    action 'MATCH' (noprec):   reduce kind_args --> kind_arg
    action 'WHEN' (noprec):   reduce kind_args --> kind_arg
    action 'WITH' (noprec):   reduce kind_args --> kind_arg
    action 'FUNCTION' (noprec):   reduce kind_args --> kind_arg
    action 'TRUE' (noprec):   reduce kind_args --> kind_arg
    action 'FALSE' (noprec):   reduce kind_args --> kind_arg
    action 'AS' (noprec):   reduce kind_args --> kind_arg
    action 'OF' (noprec):   reduce kind_args --> kind_arg
    action 'NAMESPACE' (noprec):   reduce kind_args --> kind_arg
    action 'OPEN' (noprec):   reduce kind_args --> kind_arg
    action 'WHERE' (noprec):   reduce kind_args --> kind_arg
    action 'OVERLOAD' (noprec):   reduce kind_args --> kind_arg
    action 'DOUBLEAMP' (noprec):   reduce kind_args --> kind_arg
    action 'DOUBLEPIPE' (noprec):   reduce kind_args --> kind_arg
    action 'UNDERSCORE' (noprec):   reduce kind_args --> kind_arg
    action 'BACKSLASH' (noprec):   reduce kind_args --> kind_arg
    action 'KIND' (noprec):   reduce kind_args --> kind_arg
    action 'QUESTION' (noprec):   reduce kind_args --> kind_arg
    action 'BRA' (noprec):   reduce kind_args --> kind_arg
    action 'KET' (noprec):   reduce kind_args --> kind_arg
    action 'CURBRA' (noprec):   reduce kind_args --> kind_arg
    action 'CURKET' (noprec):   reduce kind_args --> kind_arg
    action 'SQBRA' (noprec):   reduce kind_args --> kind_arg
    action 'SQKET' (noprec):   reduce kind_args --> kind_arg
    action 'PLUS' (noprec):   reduce kind_args --> kind_arg
    action 'MINUS' (noprec):   reduce kind_args --> kind_arg
    action 'SLASH' (noprec):   reduce kind_args --> kind_arg
    action 'PLUSDOT' (noprec):   reduce kind_args --> kind_arg
    action 'MINUSDOT' (noprec):   reduce kind_args --> kind_arg
    action 'MOD' (noprec):   reduce kind_args --> kind_arg
    action 'NEQ' (noprec):   reduce kind_args --> kind_arg
    action 'LT' (noprec):   reduce kind_args --> kind_arg
    action 'GT' (noprec):   reduce kind_args --> kind_arg
    action 'LEQ' (noprec):   reduce kind_args --> kind_arg
    action 'GEQ' (noprec):   reduce kind_args --> kind_arg
    action 'AND' (noprec):   reduce kind_args --> kind_arg
    action 'NOT' (noprec):   reduce kind_args --> kind_arg
    action 'PIPE' (noprec):   reduce kind_args --> kind_arg
    action 'AMP' (noprec):   reduce kind_args --> kind_arg
    action 'BANG' (noprec):   reduce kind_args --> kind_arg
    action 'COLONGT' (noprec):   reduce kind_args --> kind_arg
    action 'COLON' (noprec):   reduce kind_args --> kind_arg
    action 'COLON2' (noprec):   reduce kind_args --> kind_arg
    action 'SEMICOLON' (noprec):   reduce kind_args --> kind_arg
    action 'SEMICOLON2' (noprec):   reduce kind_args --> kind_arg
    action 'DOT' (noprec):   reduce kind_args --> kind_arg
    action 'COMMA' (explicit left 9984):   shift 179
    action 'ASSIGN' (noprec):   reduce kind_args --> kind_arg
    action 'STRING' (noprec):   reduce kind_args --> kind_arg
    action 'UID' (noprec):   reduce kind_args --> kind_arg
    action 'LID' (noprec):   reduce kind_args --> kind_arg
    action 'INFIX' (noprec):   reduce kind_args --> kind_arg
    action 'TICK_ID' (noprec):   reduce kind_args --> kind_arg
    action 'BACKTICK_ID' (noprec):   reduce kind_args --> kind_arg
    action 'AT_ID' (noprec):   reduce kind_args --> kind_arg
    action 'CHAR' (noprec):   reduce kind_args --> kind_arg
    action 'FLOAT' (noprec):   reduce kind_args --> kind_arg
    action 'INT32' (noprec):   reduce kind_args --> kind_arg
    action 'AT_INT32' (noprec):   reduce kind_args --> kind_arg
    action 'error' (noprec):   reduce kind_args --> kind_arg
    action '#' (noprec):   reduce kind_args --> kind_arg
    action '$$' (noprec):   reduce kind_args --> kind_arg
  immediate action: <none>  gotos:state 179:  items:    kind_args -> kind_arg 'COMMA' . kind_args
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 177
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
    goto kind_arg: 178
    goto kind_args: 180
state 180:  items:    kind_args -> kind_arg 'COMMA' kind_args . 
  actions:    action 'EOF' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'TYPE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'EQ' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'STAR' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'ARROW' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'VAL' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'OVER' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BRAGT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'LTKET' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BRALT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'GTKET' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'HASH' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'DO' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'INJECT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'EJECT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'IMPLIES' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'DATATYPE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'DATA' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'FORALL' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BOTTOM' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'LET' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'REC' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'IN' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'IF' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'THEN' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'ELSE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'FUN' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'MATCH' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'WHEN' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'WITH' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'FUNCTION' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'TRUE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'FALSE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'AS' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'OF' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'NAMESPACE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'OPEN' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'WHERE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'OVERLOAD' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'DOUBLEAMP' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'DOUBLEPIPE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'UNDERSCORE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BACKSLASH' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'KIND' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'QUESTION' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BRA' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'KET' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'CURBRA' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'CURKET' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'SQBRA' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'SQKET' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'PLUS' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'MINUS' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'SLASH' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'PLUSDOT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'MINUSDOT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'MOD' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'NEQ' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'LT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'GT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'LEQ' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'GEQ' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'AND' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'NOT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'PIPE' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'AMP' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BANG' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'COLONGT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'COLON' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'COLON2' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'SEMICOLON' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'SEMICOLON2' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'DOT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'COMMA' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'ASSIGN' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'STRING' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'UID' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'LID' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'INFIX' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'TICK_ID' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'BACKTICK_ID' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'AT_ID' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'CHAR' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'FLOAT' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'INT32' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'AT_INT32' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action 'error' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action '#' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
    action '$$' (explicit left 9984):   reduce kind_args --> kind_arg 'COMMA' kind_args
  immediate action:   reduce kind_args --> kind_arg 'COMMA' kind_args  gotos:state 181:  items:    fxty_forall_param -> 'BRA' . 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    fxty_forall_param -> 'BRA' . 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    ty_forall_param -> 'BRA' . 'TICK_ID' 'COLON2' kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 182
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 182:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' . 'COLONGT' fxty_expr 'KET'
    fxty_forall_param -> 'BRA' 'TICK_ID' . 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    ty_forall_param -> 'BRA' 'TICK_ID' . 'COLON2' kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   shift 183
    action 'COLON' (noprec):   error
    action 'COLON2' (explicit right 9988):   shift 186
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 183:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLONGT' . fxty_expr 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 184
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 184:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 185
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 185:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET' . 
  actions:    action 'EOF' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'TYPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'EQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'STAR' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'ARROW' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'VAL' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'OVER' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BRAGT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'LTKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BRALT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'GTKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'HASH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'DO' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'INJECT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'EJECT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'IMPLIES' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'DATATYPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'DATA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'FORALL' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BOTTOM' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'LET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'REC' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'IN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'IF' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'THEN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'ELSE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'FUN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'MATCH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'WHEN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'WITH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'FUNCTION' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'TRUE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'FALSE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'AS' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'OF' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'NAMESPACE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'OPEN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'WHERE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'OVERLOAD' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'DOUBLEAMP' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'UNDERSCORE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BACKSLASH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'KIND' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'QUESTION' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BRA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'KET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'CURBRA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'CURKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'SQBRA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'SQKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'PLUS' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'MINUS' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'SLASH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'PLUSDOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'MINUSDOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'MOD' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'NEQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'LT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'GT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'LEQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'GEQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'AND' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'NOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'PIPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'AMP' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BANG' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'COLONGT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'COLON' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'COLON2' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'SEMICOLON' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'SEMICOLON2' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'DOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'COMMA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'ASSIGN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'STRING' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'UID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'LID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'INFIX' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'TICK_ID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'BACKTICK_ID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'AT_ID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'CHAR' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'FLOAT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'INT32' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'AT_INT32' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action 'error' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action '#' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
    action '$$' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'
  immediate action:   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLONGT' fxty_expr 'KET'  gotos:state 186:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' . kind 'COLONGT' fxty_expr 'KET'
    ty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' . kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 187
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 187:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind . 'COLONGT' fxty_expr 'KET'
    ty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 197
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   shift 188
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 188:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' . fxty_expr 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 189
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 189:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 190
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 190:  items:    fxty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET' . 
  actions:    action 'EOF' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'TYPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'EQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'STAR' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'ARROW' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'VAL' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'OVER' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BRAGT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'LTKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BRALT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'GTKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'HASH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'DO' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'INJECT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'EJECT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'IMPLIES' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'DATATYPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'DATA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'FORALL' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BOTTOM' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'LET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'REC' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'IN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'IF' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'THEN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'ELSE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'FUN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'MATCH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'WHEN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'WITH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'FUNCTION' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'TRUE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'FALSE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'AS' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'OF' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'NAMESPACE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'OPEN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'WHERE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'OVERLOAD' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'DOUBLEAMP' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'UNDERSCORE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BACKSLASH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'KIND' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'QUESTION' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BRA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'KET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'CURBRA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'CURKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'SQBRA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'SQKET' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'PLUS' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'MINUS' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'SLASH' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'PLUSDOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'MINUSDOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'MOD' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'NEQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'LT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'GT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'LEQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'GEQ' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'AND' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'NOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'PIPE' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'AMP' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BANG' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'COLONGT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'COLON' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'COLON2' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'SEMICOLON' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'SEMICOLON2' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'DOT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'COMMA' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'ASSIGN' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'STRING' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'UID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'LID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'INFIX' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'TICK_ID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'BACKTICK_ID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'AT_ID' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'CHAR' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'FLOAT' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'INT32' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'AT_INT32' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action 'error' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action '#' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
    action '$$' (noprec):   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'
  immediate action:   reduce fxty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'COLONGT' fxty_expr 'KET'  gotos:state 191:  items:    fxty_forall_param -> ty_forall_param . 
  actions:    action 'EOF' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'TYPE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'EQ' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'STAR' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'ARROW' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'VAL' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'OVER' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BRAGT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'LTKET' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BRALT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'GTKET' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'HASH' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'DO' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'INJECT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'EJECT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'IMPLIES' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'DATATYPE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'DATA' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'FORALL' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BOTTOM' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'LET' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'REC' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'IN' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'IF' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'THEN' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'ELSE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'FUN' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'MATCH' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'WHEN' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'WITH' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'FUNCTION' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'TRUE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'FALSE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'AS' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'OF' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'NAMESPACE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'OPEN' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'WHERE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'OVERLOAD' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'DOUBLEAMP' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'DOUBLEPIPE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'UNDERSCORE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BACKSLASH' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'KIND' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'QUESTION' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BRA' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'KET' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'CURBRA' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'CURKET' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'SQBRA' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'SQKET' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'PLUS' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'MINUS' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'SLASH' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'PLUSDOT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'MINUSDOT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'MOD' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'NEQ' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'LT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'GT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'LEQ' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'GEQ' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'AND' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'NOT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'PIPE' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'AMP' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BANG' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'COLONGT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'COLON' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'COLON2' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'SEMICOLON' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'SEMICOLON2' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'DOT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'COMMA' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'ASSIGN' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'STRING' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'UID' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'LID' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'INFIX' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'TICK_ID' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'BACKTICK_ID' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'AT_ID' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'CHAR' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'FLOAT' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'INT32' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'AT_INT32' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action 'error' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action '#' (noprec):   reduce fxty_forall_param --> ty_forall_param
    action '$$' (noprec):   reduce fxty_forall_param --> ty_forall_param
  immediate action:   reduce fxty_forall_param --> ty_forall_param  gotos:state 192:  items:    ty_forall_param -> 'TICK_ID' . 
  actions:    action 'EOF' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'TYPE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'EQ' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'STAR' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'ARROW' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'VAL' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'OVER' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BRAGT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'LTKET' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BRALT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'GTKET' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'HASH' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'DO' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'INJECT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'EJECT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'IMPLIES' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'DATATYPE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'DATA' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'FORALL' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BOTTOM' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'LET' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'REC' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'IN' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'IF' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'THEN' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'ELSE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'FUN' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'MATCH' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'WHEN' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'WITH' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'FUNCTION' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'TRUE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'FALSE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'AS' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'OF' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'NAMESPACE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'OPEN' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'WHERE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'OVERLOAD' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'UNDERSCORE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BACKSLASH' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'KIND' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'QUESTION' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BRA' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'KET' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'CURBRA' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'CURKET' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'SQBRA' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'SQKET' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'PLUS' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'MINUS' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'SLASH' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'PLUSDOT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'MINUSDOT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'MOD' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'NEQ' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'LT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'GT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'LEQ' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'GEQ' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'AND' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'NOT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'PIPE' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'AMP' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BANG' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'COLONGT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'COLON' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'COLON2' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'SEMICOLON' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'SEMICOLON2' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'DOT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'COMMA' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'ASSIGN' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'STRING' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'UID' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'LID' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'INFIX' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'TICK_ID' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'AT_ID' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'CHAR' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'FLOAT' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'INT32' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'AT_INT32' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action 'error' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action '#' (noprec):   reduce ty_forall_param --> 'TICK_ID'
    action '$$' (noprec):   reduce ty_forall_param --> 'TICK_ID'
  immediate action:   reduce ty_forall_param --> 'TICK_ID'  gotos:state 193:  items:    ty_forall_param -> 'BRA' . 'TICK_ID' 'COLON2' kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 194
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 194:  items:    ty_forall_param -> 'BRA' 'TICK_ID' . 'COLON2' kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (explicit right 9988):   shift 195
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 195:  items:    ty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' . kind 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 196
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 196:  items:    ty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 197
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 197:  items:    ty_forall_param -> 'BRA' 'TICK_ID' 'COLON2' kind 'KET' . 
  actions:    action 'EOF' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'TYPE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'EQ' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'STAR' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'ARROW' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'VAL' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'OVER' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BRAGT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'LTKET' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BRALT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'GTKET' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'HASH' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'DO' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'INJECT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'EJECT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'IMPLIES' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'DATATYPE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'DATA' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'FORALL' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BOTTOM' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'LET' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'REC' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'IN' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'IF' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'THEN' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'ELSE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'FUN' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'MATCH' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'WHEN' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'WITH' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'FUNCTION' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'TRUE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'FALSE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'AS' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'OF' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'NAMESPACE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'OPEN' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'WHERE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'OVERLOAD' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'DOUBLEAMP' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'UNDERSCORE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BACKSLASH' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'KIND' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'QUESTION' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BRA' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'KET' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'CURBRA' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'CURKET' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'SQBRA' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'SQKET' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'PLUS' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'MINUS' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'SLASH' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'PLUSDOT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'MINUSDOT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'MOD' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'NEQ' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'LT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'GT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'LEQ' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'GEQ' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'AND' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'NOT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'PIPE' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'AMP' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BANG' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'COLONGT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'COLON' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'COLON2' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'SEMICOLON' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'SEMICOLON2' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'DOT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'COMMA' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'ASSIGN' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'STRING' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'UID' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'LID' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'INFIX' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'TICK_ID' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'BACKTICK_ID' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'AT_ID' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'CHAR' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'FLOAT' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'INT32' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'AT_INT32' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action 'error' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action '#' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
    action '$$' (noprec):   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'
  immediate action:   reduce ty_forall_param --> 'BRA' 'TICK_ID' 'COLON2' kind 'KET'  gotos:state 198:  items:    fxty_forall_params -> fxty_forall_param . 
    fxty_forall_params -> fxty_forall_param . fxty_forall_params
  actions:    action 'EOF' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'TYPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'EQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'STAR' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'ARROW' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'VAL' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'OVER' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'BRAGT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'LTKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'BRALT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'GTKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'HASH' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'DO' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'INJECT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'EJECT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'IMPLIES' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'DATATYPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'DATA' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'FORALL' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'BOTTOM' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'LET' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'REC' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'IN' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'IF' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'THEN' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'ELSE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'FUN' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'MATCH' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'WHEN' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'WITH' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'FUNCTION' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'TRUE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'FALSE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'AS' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'OF' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'NAMESPACE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'OPEN' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'WHERE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'OVERLOAD' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'DOUBLEAMP' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'DOUBLEPIPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'UNDERSCORE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'BACKSLASH' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'KIND' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'QUESTION' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'BRA' (noprec):   shift 181
    action 'KET' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'CURBRA' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'CURKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'SQBRA' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'SQKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'PLUS' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'MINUS' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'SLASH' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'PLUSDOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'MINUSDOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'MOD' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'NEQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'LT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'GT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'LEQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'GEQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'AND' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'NOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'PIPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'AMP' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'BANG' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'COLONGT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'COLON' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'COLON2' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'SEMICOLON' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'SEMICOLON2' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'DOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'COMMA' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'ASSIGN' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'STRING' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'UID' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'LID' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'INFIX' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'TICK_ID' (noprec):   shift 192
    action 'BACKTICK_ID' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'AT_ID' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'CHAR' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'FLOAT' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'INT32' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'AT_INT32' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action 'error' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action '#' (noprec):   reduce fxty_forall_params --> fxty_forall_param
    action '$$' (noprec):   reduce fxty_forall_params --> fxty_forall_param
  immediate action: <none>  gotos:    goto fxty_forall_param: 198
    goto ty_forall_param: 191
    goto fxty_forall_params: 199
state 199:  items:    fxty_forall_params -> fxty_forall_param fxty_forall_params . 
  actions:    action 'EOF' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'TYPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'EQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'STAR' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'ARROW' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'VAL' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'OVER' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BRAGT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'LTKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BRALT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'GTKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'HASH' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'DO' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'INJECT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'EJECT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'IMPLIES' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'DATATYPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'DATA' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'FORALL' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BOTTOM' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'LET' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'REC' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'IN' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'IF' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'THEN' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'ELSE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'FUN' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'MATCH' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'WHEN' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'WITH' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'FUNCTION' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'TRUE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'FALSE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'AS' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'OF' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'NAMESPACE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'OPEN' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'WHERE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'OVERLOAD' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'DOUBLEAMP' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'DOUBLEPIPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'UNDERSCORE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BACKSLASH' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'KIND' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'QUESTION' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BRA' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'KET' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'CURBRA' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'CURKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'SQBRA' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'SQKET' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'PLUS' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'MINUS' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'SLASH' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'PLUSDOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'MINUSDOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'MOD' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'NEQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'LT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'GT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'LEQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'GEQ' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'AND' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'NOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'PIPE' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'AMP' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BANG' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'COLONGT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'COLON' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'COLON2' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'SEMICOLON' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'SEMICOLON2' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'DOT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'COMMA' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'ASSIGN' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'STRING' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'UID' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'LID' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'INFIX' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'TICK_ID' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'BACKTICK_ID' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'AT_ID' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'CHAR' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'FLOAT' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'INT32' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'AT_INT32' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action 'error' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action '#' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
    action '$$' (noprec):   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params
  immediate action:   reduce fxty_forall_params --> fxty_forall_param fxty_forall_params  gotos:state 200:  items:    ty_forall_params -> ty_forall_param . 
    ty_forall_params -> ty_forall_param . ty_forall_params
  actions:    action 'EOF' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'TYPE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'EQ' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'STAR' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'ARROW' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'VAL' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'OVER' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'BRAGT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'LTKET' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'BRALT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'GTKET' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'HASH' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'DO' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'INJECT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'EJECT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'IMPLIES' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'DATATYPE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'DATA' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'FORALL' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'BOTTOM' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'LET' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'REC' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'IN' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'IF' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'THEN' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'ELSE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'FUN' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'MATCH' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'WHEN' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'WITH' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'FUNCTION' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'TRUE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'FALSE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'AS' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'OF' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'NAMESPACE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'OPEN' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'WHERE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'OVERLOAD' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'DOUBLEAMP' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'DOUBLEPIPE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'UNDERSCORE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'BACKSLASH' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'KIND' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'QUESTION' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'BRA' (noprec):   shift 193
    action 'KET' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'CURBRA' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'CURKET' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'SQBRA' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'SQKET' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'PLUS' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'MINUS' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'SLASH' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'PLUSDOT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'MINUSDOT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'MOD' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'NEQ' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'LT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'GT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'LEQ' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'GEQ' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'AND' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'NOT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'PIPE' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'AMP' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'BANG' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'COLONGT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'COLON' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'COLON2' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'SEMICOLON' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'SEMICOLON2' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'DOT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'COMMA' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'ASSIGN' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'STRING' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'UID' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'LID' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'INFIX' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'TICK_ID' (noprec):   shift 192
    action 'BACKTICK_ID' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'AT_ID' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'CHAR' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'FLOAT' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'INT32' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'AT_INT32' (noprec):   reduce ty_forall_params --> ty_forall_param
    action 'error' (noprec):   reduce ty_forall_params --> ty_forall_param
    action '#' (noprec):   reduce ty_forall_params --> ty_forall_param
    action '$$' (noprec):   reduce ty_forall_params --> ty_forall_param
  immediate action: <none>  gotos:    goto ty_forall_param: 200
    goto ty_forall_params: 201
state 201:  items:    ty_forall_params -> ty_forall_param ty_forall_params . 
  actions:    action 'EOF' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'TYPE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'EQ' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'STAR' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'ARROW' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'VAL' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'OVER' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BRAGT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'LTKET' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BRALT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'GTKET' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'HASH' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'DO' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'INJECT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'EJECT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'IMPLIES' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'DATATYPE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'DATA' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'FORALL' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BOTTOM' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'LET' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'REC' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'IN' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'IF' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'THEN' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'ELSE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'FUN' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'MATCH' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'WHEN' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'WITH' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'FUNCTION' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'TRUE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'FALSE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'AS' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'OF' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'NAMESPACE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'OPEN' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'WHERE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'OVERLOAD' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'DOUBLEAMP' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'DOUBLEPIPE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'UNDERSCORE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BACKSLASH' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'KIND' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'QUESTION' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BRA' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'KET' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'CURBRA' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'CURKET' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'SQBRA' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'SQKET' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'PLUS' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'MINUS' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'SLASH' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'PLUSDOT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'MINUSDOT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'MOD' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'NEQ' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'LT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'GT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'LEQ' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'GEQ' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'AND' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'NOT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'PIPE' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'AMP' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BANG' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'COLONGT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'COLON' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'COLON2' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'SEMICOLON' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'SEMICOLON2' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'DOT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'COMMA' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'ASSIGN' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'STRING' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'UID' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'LID' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'INFIX' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'TICK_ID' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'BACKTICK_ID' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'AT_ID' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'CHAR' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'FLOAT' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'INT32' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'AT_INT32' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action 'error' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action '#' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
    action '$$' (noprec):   reduce ty_forall_params --> ty_forall_param ty_forall_params
  immediate action:   reduce ty_forall_params --> ty_forall_param ty_forall_params  gotos:state 202:  items:    fxty_expr -> fxty_expr_ . 
  actions:    action 'EOF' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'TYPE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'EQ' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'STAR' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'ARROW' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'VAL' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'OVER' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BRAGT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'LTKET' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BRALT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'GTKET' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'HASH' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'DO' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'INJECT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'EJECT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'IMPLIES' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'DATATYPE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'DATA' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'FORALL' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BOTTOM' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'LET' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'REC' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'IN' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'IF' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'THEN' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'ELSE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'FUN' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'MATCH' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'WHEN' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'WITH' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'FUNCTION' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'TRUE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'FALSE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'AS' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'OF' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'NAMESPACE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'OPEN' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'WHERE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'OVERLOAD' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'DOUBLEAMP' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'DOUBLEPIPE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'UNDERSCORE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BACKSLASH' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'KIND' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'QUESTION' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BRA' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'KET' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'CURBRA' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'CURKET' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'SQBRA' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'SQKET' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'PLUS' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'MINUS' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'SLASH' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'PLUSDOT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'MINUSDOT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'MOD' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'NEQ' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'LT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'GT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'LEQ' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'GEQ' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'AND' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'NOT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'PIPE' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'AMP' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BANG' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'COLONGT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'COLON' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'COLON2' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'SEMICOLON' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'SEMICOLON2' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'DOT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'COMMA' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'ASSIGN' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'STRING' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'UID' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'LID' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'INFIX' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'TICK_ID' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'BACKTICK_ID' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'AT_ID' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'CHAR' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'FLOAT' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'INT32' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'AT_INT32' (noprec):   reduce fxty_expr --> fxty_expr_
    action 'error' (noprec):   reduce fxty_expr --> fxty_expr_
    action '#' (noprec):   reduce fxty_expr --> fxty_expr_
    action '$$' (noprec):   reduce fxty_expr --> fxty_expr_
  immediate action:   reduce fxty_expr --> fxty_expr_  gotos:state 203:  items:    fxty_expr_ -> 'FORALL' . fxty_forall_params 'DOT' fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 181
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 192
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto fxty_forall_param: 198
    goto ty_forall_param: 191
    goto fxty_forall_params: 204
state 204:  items:    fxty_expr_ -> 'FORALL' fxty_forall_params . 'DOT' fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   shift 205
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 205:  items:    fxty_expr_ -> 'FORALL' fxty_forall_params 'DOT' . fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 206
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 206:  items:    fxty_expr_ -> 'FORALL' fxty_forall_params 'DOT' fxty_expr . 
  actions:    action 'EOF' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'TYPE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'EQ' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'STAR' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'ARROW' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'VAL' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'OVER' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BRAGT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'LTKET' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BRALT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'GTKET' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'HASH' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'DO' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'INJECT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'EJECT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'IMPLIES' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'DATATYPE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'DATA' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'FORALL' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BOTTOM' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'LET' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'REC' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'IN' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'IF' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'THEN' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'ELSE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'FUN' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'MATCH' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'WHEN' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'WITH' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'FUNCTION' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'TRUE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'FALSE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'AS' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'OF' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'NAMESPACE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'OPEN' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'WHERE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'OVERLOAD' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'DOUBLEAMP' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'DOUBLEPIPE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'UNDERSCORE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BACKSLASH' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'KIND' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'QUESTION' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BRA' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'KET' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'CURBRA' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'CURKET' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'SQBRA' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'SQKET' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'PLUS' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'MINUS' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'SLASH' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'PLUSDOT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'MINUSDOT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'MOD' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'NEQ' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'LT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'GT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'LEQ' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'GEQ' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'AND' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'NOT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'PIPE' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'AMP' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BANG' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'COLONGT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'COLON' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'COLON2' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'SEMICOLON' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'SEMICOLON2' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'DOT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'COMMA' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'ASSIGN' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'STRING' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'UID' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'LID' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'INFIX' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'TICK_ID' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'BACKTICK_ID' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'AT_ID' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'CHAR' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'FLOAT' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'INT32' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'AT_INT32' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action 'error' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action '#' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
    action '$$' (noprec):   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr
  immediate action:   reduce fxty_expr_ --> 'FORALL' fxty_forall_params 'DOT' fxty_expr  gotos:state 207:  items:    fxty_expr_ -> 'BOTTOM' . 
    fxty_expr_ -> 'BOTTOM' . 'COLON2' kind
  actions:    action 'EOF' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'TYPE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'EQ' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'STAR' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'ARROW' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'VAL' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'OVER' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BRAGT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'LTKET' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BRALT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'GTKET' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'HASH' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'DO' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'INJECT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'EJECT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'IMPLIES' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'DATATYPE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'DATA' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'FORALL' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BOTTOM' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'LET' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'REC' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'IN' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'IF' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'THEN' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'ELSE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'FUN' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'MATCH' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'WHEN' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'WITH' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'FUNCTION' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'TRUE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'FALSE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'AS' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'OF' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'NAMESPACE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'OPEN' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'WHERE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'OVERLOAD' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'DOUBLEAMP' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'DOUBLEPIPE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'UNDERSCORE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BACKSLASH' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'KIND' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'QUESTION' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BRA' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'KET' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'CURBRA' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'CURKET' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'SQBRA' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'SQKET' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'PLUS' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'MINUS' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'SLASH' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'PLUSDOT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'MINUSDOT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'MOD' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'NEQ' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'LT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'GT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'LEQ' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'GEQ' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'AND' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'NOT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'PIPE' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'AMP' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BANG' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'COLONGT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'COLON' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'COLON2' (explicit right 9988):   shift 208
    action 'SEMICOLON' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'SEMICOLON2' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'DOT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'COMMA' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'ASSIGN' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'STRING' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'UID' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'LID' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'INFIX' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'TICK_ID' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'BACKTICK_ID' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'AT_ID' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'CHAR' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'FLOAT' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'INT32' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'AT_INT32' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action 'error' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action '#' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
    action '$$' (noprec):   reduce fxty_expr_ --> 'BOTTOM'
  immediate action: <none>  gotos:state 208:  items:    fxty_expr_ -> 'BOTTOM' 'COLON2' . kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 209
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 209:  items:    fxty_expr_ -> 'BOTTOM' 'COLON2' kind . 
  actions:    action 'EOF' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'TYPE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'EQ' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'STAR' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'ARROW' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'VAL' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'OVER' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BRAGT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'LTKET' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BRALT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'GTKET' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'HASH' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'DO' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'INJECT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'EJECT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'IMPLIES' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'DATATYPE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'DATA' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'FORALL' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BOTTOM' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'LET' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'REC' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'IN' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'IF' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'THEN' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'ELSE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'FUN' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'MATCH' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'WHEN' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'WITH' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'FUNCTION' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'TRUE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'FALSE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'AS' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'OF' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'NAMESPACE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'OPEN' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'WHERE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'OVERLOAD' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'DOUBLEAMP' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'DOUBLEPIPE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'UNDERSCORE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BACKSLASH' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'KIND' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'QUESTION' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BRA' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'KET' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'CURBRA' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'CURKET' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'SQBRA' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'SQKET' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'PLUS' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'MINUS' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'SLASH' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'PLUSDOT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'MINUSDOT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'MOD' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'NEQ' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'LT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'GT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'LEQ' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'GEQ' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'AND' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'NOT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'PIPE' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'AMP' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BANG' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'COLONGT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'COLON' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'COLON2' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'SEMICOLON' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'SEMICOLON2' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'DOT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'COMMA' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'ASSIGN' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'STRING' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'UID' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'LID' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'INFIX' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'TICK_ID' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'BACKTICK_ID' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'AT_ID' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'CHAR' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'FLOAT' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'INT32' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'AT_INT32' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action 'error' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action '#' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
    action '$$' (explicit right 9988):   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind
  immediate action:   reduce fxty_expr_ --> 'BOTTOM' 'COLON2' kind  gotos:state 210:  items:    fxty_expr_ -> ty_expr_unquantified . 
  actions:    action 'EOF' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'TYPE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'EQ' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'STAR' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'ARROW' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'VAL' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'OVER' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BRAGT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'LTKET' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BRALT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'GTKET' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'HASH' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'DO' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'INJECT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'EJECT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'IMPLIES' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'DATATYPE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'DATA' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'FORALL' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BOTTOM' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'LET' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'REC' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'IN' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'IF' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'THEN' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'ELSE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'FUN' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'MATCH' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'WHEN' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'WITH' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'FUNCTION' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'TRUE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'FALSE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'AS' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'OF' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'NAMESPACE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'OPEN' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'WHERE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'OVERLOAD' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'DOUBLEAMP' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'DOUBLEPIPE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'UNDERSCORE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BACKSLASH' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'KIND' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'QUESTION' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BRA' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'KET' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'CURBRA' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'CURKET' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'SQBRA' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'SQKET' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'PLUS' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'MINUS' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'SLASH' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'PLUSDOT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'MINUSDOT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'MOD' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'NEQ' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'LT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'GT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'LEQ' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'GEQ' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'AND' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'NOT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'PIPE' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'AMP' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BANG' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'COLONGT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'COLON' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'COLON2' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'SEMICOLON' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'SEMICOLON2' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'DOT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'COMMA' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'ASSIGN' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'STRING' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'UID' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'LID' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'INFIX' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'TICK_ID' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'BACKTICK_ID' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'AT_ID' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'CHAR' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'FLOAT' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'INT32' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'AT_INT32' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action 'error' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action '#' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
    action '$$' (noprec):   reduce fxty_expr_ --> ty_expr_unquantified
  immediate action:   reduce fxty_expr_ --> ty_expr_unquantified  gotos:state 211:  items:    ty_expr -> ty_expr_ . 
  actions:    action 'EOF' (noprec):   reduce ty_expr --> ty_expr_
    action 'TYPE' (noprec):   reduce ty_expr --> ty_expr_
    action 'EQ' (noprec):   reduce ty_expr --> ty_expr_
    action 'STAR' (noprec):   reduce ty_expr --> ty_expr_
    action 'ARROW' (noprec):   reduce ty_expr --> ty_expr_
    action 'VAL' (noprec):   reduce ty_expr --> ty_expr_
    action 'OVER' (noprec):   reduce ty_expr --> ty_expr_
    action 'BRAGT' (noprec):   reduce ty_expr --> ty_expr_
    action 'LTKET' (noprec):   reduce ty_expr --> ty_expr_
    action 'BRALT' (noprec):   reduce ty_expr --> ty_expr_
    action 'GTKET' (noprec):   reduce ty_expr --> ty_expr_
    action 'HASH' (noprec):   reduce ty_expr --> ty_expr_
    action 'DO' (noprec):   reduce ty_expr --> ty_expr_
    action 'INJECT' (noprec):   reduce ty_expr --> ty_expr_
    action 'EJECT' (noprec):   reduce ty_expr --> ty_expr_
    action 'IMPLIES' (noprec):   reduce ty_expr --> ty_expr_
    action 'DATATYPE' (noprec):   reduce ty_expr --> ty_expr_
    action 'DATA' (noprec):   reduce ty_expr --> ty_expr_
    action 'FORALL' (noprec):   reduce ty_expr --> ty_expr_
    action 'BOTTOM' (noprec):   reduce ty_expr --> ty_expr_
    action 'LET' (noprec):   reduce ty_expr --> ty_expr_
    action 'REC' (noprec):   reduce ty_expr --> ty_expr_
    action 'IN' (noprec):   reduce ty_expr --> ty_expr_
    action 'IF' (noprec):   reduce ty_expr --> ty_expr_
    action 'THEN' (noprec):   reduce ty_expr --> ty_expr_
    action 'ELSE' (noprec):   reduce ty_expr --> ty_expr_
    action 'FUN' (noprec):   reduce ty_expr --> ty_expr_
    action 'MATCH' (noprec):   reduce ty_expr --> ty_expr_
    action 'WHEN' (noprec):   reduce ty_expr --> ty_expr_
    action 'WITH' (noprec):   reduce ty_expr --> ty_expr_
    action 'FUNCTION' (noprec):   reduce ty_expr --> ty_expr_
    action 'TRUE' (noprec):   reduce ty_expr --> ty_expr_
    action 'FALSE' (noprec):   reduce ty_expr --> ty_expr_
    action 'AS' (noprec):   reduce ty_expr --> ty_expr_
    action 'OF' (noprec):   reduce ty_expr --> ty_expr_
    action 'NAMESPACE' (noprec):   reduce ty_expr --> ty_expr_
    action 'OPEN' (noprec):   reduce ty_expr --> ty_expr_
    action 'WHERE' (noprec):   reduce ty_expr --> ty_expr_
    action 'OVERLOAD' (noprec):   reduce ty_expr --> ty_expr_
    action 'DOUBLEAMP' (noprec):   reduce ty_expr --> ty_expr_
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr --> ty_expr_
    action 'UNDERSCORE' (noprec):   reduce ty_expr --> ty_expr_
    action 'BACKSLASH' (noprec):   reduce ty_expr --> ty_expr_
    action 'KIND' (noprec):   reduce ty_expr --> ty_expr_
    action 'QUESTION' (noprec):   reduce ty_expr --> ty_expr_
    action 'BRA' (noprec):   reduce ty_expr --> ty_expr_
    action 'KET' (noprec):   reduce ty_expr --> ty_expr_
    action 'CURBRA' (noprec):   reduce ty_expr --> ty_expr_
    action 'CURKET' (noprec):   reduce ty_expr --> ty_expr_
    action 'SQBRA' (noprec):   reduce ty_expr --> ty_expr_
    action 'SQKET' (noprec):   reduce ty_expr --> ty_expr_
    action 'PLUS' (noprec):   reduce ty_expr --> ty_expr_
    action 'MINUS' (noprec):   reduce ty_expr --> ty_expr_
    action 'SLASH' (noprec):   reduce ty_expr --> ty_expr_
    action 'PLUSDOT' (noprec):   reduce ty_expr --> ty_expr_
    action 'MINUSDOT' (noprec):   reduce ty_expr --> ty_expr_
    action 'MOD' (noprec):   reduce ty_expr --> ty_expr_
    action 'NEQ' (noprec):   reduce ty_expr --> ty_expr_
    action 'LT' (noprec):   reduce ty_expr --> ty_expr_
    action 'GT' (noprec):   reduce ty_expr --> ty_expr_
    action 'LEQ' (noprec):   reduce ty_expr --> ty_expr_
    action 'GEQ' (noprec):   reduce ty_expr --> ty_expr_
    action 'AND' (noprec):   reduce ty_expr --> ty_expr_
    action 'NOT' (noprec):   reduce ty_expr --> ty_expr_
    action 'PIPE' (noprec):   reduce ty_expr --> ty_expr_
    action 'AMP' (noprec):   reduce ty_expr --> ty_expr_
    action 'BANG' (noprec):   reduce ty_expr --> ty_expr_
    action 'COLONGT' (noprec):   reduce ty_expr --> ty_expr_
    action 'COLON' (noprec):   reduce ty_expr --> ty_expr_
    action 'COLON2' (noprec):   reduce ty_expr --> ty_expr_
    action 'SEMICOLON' (noprec):   reduce ty_expr --> ty_expr_
    action 'SEMICOLON2' (noprec):   reduce ty_expr --> ty_expr_
    action 'DOT' (noprec):   reduce ty_expr --> ty_expr_
    action 'COMMA' (noprec):   reduce ty_expr --> ty_expr_
    action 'ASSIGN' (noprec):   reduce ty_expr --> ty_expr_
    action 'STRING' (noprec):   reduce ty_expr --> ty_expr_
    action 'UID' (noprec):   reduce ty_expr --> ty_expr_
    action 'LID' (noprec):   reduce ty_expr --> ty_expr_
    action 'INFIX' (noprec):   reduce ty_expr --> ty_expr_
    action 'TICK_ID' (noprec):   reduce ty_expr --> ty_expr_
    action 'BACKTICK_ID' (noprec):   reduce ty_expr --> ty_expr_
    action 'AT_ID' (noprec):   reduce ty_expr --> ty_expr_
    action 'CHAR' (noprec):   reduce ty_expr --> ty_expr_
    action 'FLOAT' (noprec):   reduce ty_expr --> ty_expr_
    action 'INT32' (noprec):   reduce ty_expr --> ty_expr_
    action 'AT_INT32' (noprec):   reduce ty_expr --> ty_expr_
    action 'error' (noprec):   reduce ty_expr --> ty_expr_
    action '#' (noprec):   reduce ty_expr --> ty_expr_
    action '$$' (noprec):   reduce ty_expr --> ty_expr_
  immediate action:   reduce ty_expr --> ty_expr_  gotos:state 212:  items:    ty_expr_tuple_atom -> ty_expr_tuple_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'TYPE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'EQ' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'STAR' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'ARROW' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'VAL' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'OVER' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BRAGT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'LTKET' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BRALT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'GTKET' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'HASH' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'DO' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'INJECT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'EJECT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'IMPLIES' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'DATATYPE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'DATA' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'FORALL' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BOTTOM' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'LET' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'REC' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'IN' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'IF' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'THEN' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'ELSE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'FUN' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'MATCH' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'WHEN' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'WITH' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'FUNCTION' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'TRUE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'FALSE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'AS' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'OF' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'NAMESPACE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'OPEN' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'WHERE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'OVERLOAD' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BACKSLASH' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'KIND' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'QUESTION' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BRA' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'KET' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'CURBRA' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'CURKET' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'SQBRA' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'SQKET' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'PLUS' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'MINUS' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'SLASH' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'PLUSDOT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'MINUSDOT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'MOD' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'NEQ' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'LT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'GT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'LEQ' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'GEQ' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'AND' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'NOT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'PIPE' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'AMP' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BANG' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'COLONGT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'COLON' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'COLON2' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'SEMICOLON' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'DOT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'COMMA' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'ASSIGN' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'STRING' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'UID' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'LID' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'INFIX' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'TICK_ID' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'AT_ID' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'CHAR' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'FLOAT' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'INT32' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'AT_INT32' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action 'error' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action '#' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
    action '$$' (noprec):   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_
  immediate action:   reduce ty_expr_tuple_atom --> ty_expr_tuple_atom_  gotos:state 213:  items:    ty_expr_htuple_atom -> ty_expr_htuple_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'TYPE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'EQ' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'STAR' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'ARROW' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'VAL' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'OVER' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BRAGT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'LTKET' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BRALT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'GTKET' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'HASH' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'DO' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'INJECT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'EJECT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'IMPLIES' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'DATATYPE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'DATA' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'FORALL' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BOTTOM' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'LET' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'REC' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'IN' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'IF' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'THEN' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'ELSE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'FUN' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'MATCH' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'WHEN' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'WITH' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'FUNCTION' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'TRUE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'FALSE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'AS' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'OF' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'NAMESPACE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'OPEN' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'WHERE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'OVERLOAD' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BACKSLASH' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'KIND' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'QUESTION' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BRA' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'KET' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'CURBRA' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'CURKET' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'SQBRA' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'SQKET' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'PLUS' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'MINUS' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'SLASH' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'PLUSDOT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'MINUSDOT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'MOD' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'NEQ' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'LT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'GT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'LEQ' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'GEQ' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'AND' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'NOT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'PIPE' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'AMP' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BANG' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'COLONGT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'COLON' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'COLON2' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'SEMICOLON' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'DOT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'COMMA' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'ASSIGN' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'STRING' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'UID' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'LID' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'INFIX' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'TICK_ID' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'AT_ID' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'CHAR' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'FLOAT' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'INT32' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'AT_INT32' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action 'error' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action '#' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
    action '$$' (noprec):   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_
  immediate action:   reduce ty_expr_htuple_atom --> ty_expr_htuple_atom_  gotos:state 214:  items:    ty_expr_app_atom -> ty_expr_app_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'TYPE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'EQ' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'STAR' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'ARROW' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'VAL' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'OVER' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'LTKET' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BRALT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'GTKET' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'HASH' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'DO' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'INJECT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'EJECT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'DATA' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'FORALL' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'LET' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'REC' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'IN' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'IF' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'THEN' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'ELSE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'FUN' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'MATCH' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'WHEN' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'WITH' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'TRUE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'FALSE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'AS' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'OF' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'OPEN' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'WHERE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'KIND' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BRA' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'KET' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'CURKET' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'SQKET' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'PLUS' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'MINUS' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'SLASH' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'MOD' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'NEQ' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'LT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'GT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'LEQ' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'GEQ' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'AND' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'NOT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'PIPE' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'AMP' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BANG' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'COLON' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'COLON2' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'DOT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'COMMA' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'STRING' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'UID' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'LID' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'INFIX' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'CHAR' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'INT32' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action 'error' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action '#' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
    action '$$' (noprec):   reduce ty_expr_app_atom --> ty_expr_app_atom_
  immediate action:   reduce ty_expr_app_atom --> ty_expr_app_atom_  gotos:state 215:  items:    ty_expr_unquantified -> ty_expr_unquantified_ . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'TYPE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'EQ' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'STAR' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'ARROW' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'VAL' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'OVER' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BRAGT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'LTKET' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BRALT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'GTKET' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'HASH' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'DO' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'INJECT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'EJECT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'IMPLIES' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'DATATYPE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'DATA' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'FORALL' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BOTTOM' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'LET' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'REC' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'IN' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'IF' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'THEN' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'ELSE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'FUN' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'MATCH' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'WHEN' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'WITH' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'FUNCTION' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'TRUE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'FALSE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'AS' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'OF' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'NAMESPACE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'OPEN' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'WHERE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'OVERLOAD' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'UNDERSCORE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BACKSLASH' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'KIND' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'QUESTION' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BRA' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'KET' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'CURBRA' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'CURKET' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'SQBRA' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'SQKET' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'PLUS' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'MINUS' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'SLASH' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'PLUSDOT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'MINUSDOT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'MOD' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'NEQ' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'LT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'GT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'LEQ' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'GEQ' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'AND' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'NOT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'PIPE' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'AMP' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BANG' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'COLONGT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'COLON' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'COLON2' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'SEMICOLON' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'SEMICOLON2' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'DOT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'COMMA' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'ASSIGN' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'STRING' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'UID' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'LID' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'INFIX' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'TICK_ID' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'AT_ID' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'CHAR' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'FLOAT' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'INT32' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'AT_INT32' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action 'error' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action '#' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
    action '$$' (noprec):   reduce ty_expr_unquantified --> ty_expr_unquantified_
  immediate action:   reduce ty_expr_unquantified --> ty_expr_unquantified_  gotos:state 216:  items:    ty_expr_ -> 'FORALL' . ty_forall_params 'DOT' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 193
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 192
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_forall_param: 200
    goto ty_forall_params: 217
state 217:  items:    ty_expr_ -> 'FORALL' ty_forall_params . 'DOT' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   shift 218
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 218:  items:    ty_expr_ -> 'FORALL' ty_forall_params 'DOT' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 219
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 219:  items:    ty_expr_ -> 'FORALL' ty_forall_params 'DOT' ty_expr . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'TYPE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'EQ' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'STAR' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'ARROW' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'VAL' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'OVER' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BRAGT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'LTKET' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BRALT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'GTKET' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'HASH' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'DO' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'INJECT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'EJECT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'IMPLIES' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'DATATYPE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'DATA' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'FORALL' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BOTTOM' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'LET' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'REC' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'IN' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'IF' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'THEN' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'ELSE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'FUN' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'MATCH' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'WHEN' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'WITH' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'FUNCTION' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'TRUE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'FALSE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'AS' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'OF' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'NAMESPACE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'OPEN' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'WHERE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'OVERLOAD' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'UNDERSCORE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BACKSLASH' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'KIND' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'QUESTION' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BRA' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'KET' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'CURBRA' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'CURKET' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'SQBRA' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'SQKET' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'PLUS' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'MINUS' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'SLASH' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'PLUSDOT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'MINUSDOT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'MOD' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'NEQ' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'LT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'GT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'LEQ' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'GEQ' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'AND' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'NOT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'PIPE' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'AMP' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BANG' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'COLONGT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'COLON' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'COLON2' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'SEMICOLON' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'SEMICOLON2' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'DOT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'COMMA' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'ASSIGN' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'STRING' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'UID' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'LID' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'INFIX' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'TICK_ID' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'AT_ID' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'CHAR' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'FLOAT' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'INT32' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'AT_INT32' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action 'error' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action '#' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
    action '$$' (noprec):   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr
  immediate action:   reduce ty_expr_ --> 'FORALL' ty_forall_params 'DOT' ty_expr  gotos:state 220:  items:    ty_expr_ -> ty_expr_unquantified_ . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'TYPE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'EQ' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'STAR' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'ARROW' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'VAL' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'OVER' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BRAGT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'LTKET' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BRALT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'GTKET' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'HASH' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'DO' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'INJECT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'EJECT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'IMPLIES' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'DATATYPE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'DATA' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'FORALL' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BOTTOM' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'LET' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'REC' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'IN' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'IF' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'THEN' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'ELSE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'FUN' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'MATCH' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'WHEN' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'WITH' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'FUNCTION' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'TRUE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'FALSE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'AS' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'OF' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'NAMESPACE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'OPEN' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'WHERE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'OVERLOAD' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'UNDERSCORE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BACKSLASH' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'KIND' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'QUESTION' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BRA' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'KET' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'CURBRA' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'CURKET' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'SQBRA' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'SQKET' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'PLUS' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'MINUS' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'SLASH' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'PLUSDOT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'MINUSDOT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'MOD' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'NEQ' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'LT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'GT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'LEQ' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'GEQ' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'AND' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'NOT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'PIPE' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'AMP' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BANG' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'COLONGT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'COLON' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'COLON2' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'SEMICOLON' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'SEMICOLON2' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'DOT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'COMMA' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'ASSIGN' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'STRING' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'UID' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'LID' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'INFIX' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'TICK_ID' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'AT_ID' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'CHAR' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'FLOAT' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'INT32' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'AT_INT32' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action 'error' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action '#' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
    action '$$' (noprec):   reduce ty_expr_ --> ty_expr_unquantified_
  immediate action:   reduce ty_expr_ --> ty_expr_unquantified_  gotos:state 221:  items:    ty_expr_unquantified_ -> 'FUN' . ty_fun_param_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 145
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_fun_patt_params: 141
    goto ty_fun_param_case: 147
    goto ty_fun_param_cases: 222
    goto ty_fun_param_cases_: 144
    goto ty_patt_app_atom: 139
    goto ty_patt_app_atom_: 287
state 222:  items:    ty_expr_unquantified_ -> 'FUN' ty_fun_param_cases . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'TYPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'EQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'STAR' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'ARROW' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'VAL' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'OVER' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BRAGT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'LTKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BRALT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'GTKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'HASH' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'DO' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'INJECT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'EJECT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'IMPLIES' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'DATATYPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'DATA' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'FORALL' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BOTTOM' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'LET' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'REC' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'IN' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'IF' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'THEN' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'ELSE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'FUN' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'MATCH' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'WHEN' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'WITH' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'FUNCTION' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'TRUE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'FALSE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'AS' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'OF' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'NAMESPACE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'OPEN' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'WHERE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'OVERLOAD' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'UNDERSCORE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BACKSLASH' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'KIND' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'QUESTION' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BRA' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'KET' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'CURBRA' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'CURKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'SQBRA' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'SQKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'PLUS' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'MINUS' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'SLASH' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'PLUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'MINUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'MOD' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'NEQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'LT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'GT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'LEQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'GEQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'AND' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'NOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'PIPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'AMP' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BANG' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'COLONGT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'COLON' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'COLON2' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'SEMICOLON' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'SEMICOLON2' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'DOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'COMMA' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'ASSIGN' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'STRING' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'UID' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'LID' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'INFIX' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'TICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'AT_ID' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'CHAR' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'FLOAT' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'INT32' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'AT_INT32' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action 'error' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action '#' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
    action '$$' (noprec):   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases
  immediate action:   reduce ty_expr_unquantified_ --> 'FUN' ty_fun_param_cases  gotos:state 223:  items:    ty_expr_unquantified_ -> 'FUNCTION' . ty_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 320
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 318
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_arrow_atom: 329
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases: 224
    goto ty_cases_: 317
    goto ty_case: 326
state 224:  items:    ty_expr_unquantified_ -> 'FUNCTION' ty_cases . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'TYPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'EQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'STAR' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'ARROW' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'VAL' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'OVER' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BRAGT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'LTKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BRALT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'GTKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'HASH' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'DO' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'INJECT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'EJECT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'IMPLIES' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'DATATYPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'DATA' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'FORALL' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BOTTOM' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'LET' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'REC' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'IN' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'IF' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'THEN' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'ELSE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'FUN' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'MATCH' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'WHEN' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'WITH' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'FUNCTION' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'TRUE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'FALSE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'AS' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'OF' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'NAMESPACE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'OPEN' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'WHERE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'OVERLOAD' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'UNDERSCORE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BACKSLASH' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'KIND' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'QUESTION' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BRA' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'KET' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'CURBRA' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'CURKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'SQBRA' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'SQKET' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'PLUS' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'MINUS' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'SLASH' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'PLUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'MINUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'MOD' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'NEQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'LT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'GT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'LEQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'GEQ' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'AND' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'NOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'PIPE' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'AMP' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BANG' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'COLONGT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'COLON' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'COLON2' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'SEMICOLON' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'SEMICOLON2' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'DOT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'COMMA' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'ASSIGN' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'STRING' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'UID' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'LID' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'INFIX' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'TICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'AT_ID' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'CHAR' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'FLOAT' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'INT32' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'AT_INT32' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action 'error' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action '#' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
    action '$$' (noprec):   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases
  immediate action:   reduce ty_expr_unquantified_ --> 'FUNCTION' ty_cases  gotos:state 225:  items:    ty_expr_unquantified_ -> 'MATCH' . ty_expr 'WITH' ty_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 226
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 226:  items:    ty_expr_unquantified_ -> 'MATCH' ty_expr . 'WITH' ty_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   shift 227
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 227:  items:    ty_expr_unquantified_ -> 'MATCH' ty_expr 'WITH' . ty_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 320
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 318
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_arrow_atom: 329
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases: 228
    goto ty_cases_: 317
    goto ty_case: 326
state 228:  items:    ty_expr_unquantified_ -> 'MATCH' ty_expr 'WITH' ty_cases . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'TYPE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'EQ' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'STAR' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'ARROW' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'VAL' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'OVER' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BRAGT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'LTKET' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BRALT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'GTKET' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'HASH' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'DO' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'INJECT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'EJECT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'IMPLIES' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'DATATYPE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'DATA' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'FORALL' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BOTTOM' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'LET' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'REC' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'IN' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'IF' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'THEN' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'ELSE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'FUN' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'MATCH' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'WHEN' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'WITH' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'FUNCTION' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'TRUE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'FALSE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'AS' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'OF' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'NAMESPACE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'OPEN' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'WHERE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'OVERLOAD' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'UNDERSCORE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BACKSLASH' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'KIND' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'QUESTION' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BRA' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'KET' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'CURBRA' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'CURKET' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'SQBRA' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'SQKET' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'PLUS' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'MINUS' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'SLASH' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'PLUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'MINUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'MOD' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'NEQ' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'LT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'GT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'LEQ' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'GEQ' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'AND' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'NOT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'PIPE' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'AMP' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BANG' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'COLONGT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'COLON' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'COLON2' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'SEMICOLON' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'SEMICOLON2' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'DOT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'COMMA' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'ASSIGN' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'STRING' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'UID' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'LID' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'INFIX' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'TICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'AT_ID' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'CHAR' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'FLOAT' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'INT32' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'AT_INT32' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action 'error' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action '#' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
    action '$$' (noprec):   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases
  immediate action:   reduce ty_expr_unquantified_ --> 'MATCH' ty_expr 'WITH' ty_cases  gotos:state 229:  items:    ty_expr_unquantified_ -> 'LET' . let_ty_decls 'IN' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 277
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 275
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 281
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 274
    goto ty_expr_binding: 75
    goto let_ty_decls: 230
    goto let_ty_decl: 270
    goto let_ty_decl_: 273
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 230:  items:    ty_expr_unquantified_ -> 'LET' let_ty_decls . 'IN' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   shift 231
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 231:  items:    ty_expr_unquantified_ -> 'LET' let_ty_decls 'IN' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 232
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 232:  items:    ty_expr_unquantified_ -> 'LET' let_ty_decls 'IN' ty_expr . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'TYPE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'EQ' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'STAR' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'ARROW' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'VAL' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'OVER' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BRAGT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'LTKET' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BRALT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'GTKET' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'HASH' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'DO' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'INJECT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'EJECT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'IMPLIES' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'DATATYPE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'DATA' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'FORALL' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BOTTOM' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'LET' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'REC' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'IN' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'IF' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'THEN' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'ELSE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'FUN' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'MATCH' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'WHEN' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'WITH' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'FUNCTION' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'TRUE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'FALSE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'AS' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'OF' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'NAMESPACE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'OPEN' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'WHERE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'OVERLOAD' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'UNDERSCORE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BACKSLASH' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'KIND' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'QUESTION' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BRA' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'KET' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'CURBRA' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'CURKET' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'SQBRA' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'SQKET' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'PLUS' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'MINUS' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'SLASH' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'PLUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'MINUSDOT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'MOD' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'NEQ' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'LT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'GT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'LEQ' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'GEQ' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'AND' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'NOT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'PIPE' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'AMP' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BANG' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'COLONGT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'COLON' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'COLON2' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'SEMICOLON' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'SEMICOLON2' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'DOT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'COMMA' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'ASSIGN' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'STRING' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'UID' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'LID' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'INFIX' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'TICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'AT_ID' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'CHAR' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'FLOAT' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'INT32' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'AT_INT32' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action 'error' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action '#' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
    action '$$' (noprec):   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr
  immediate action:   reduce ty_expr_unquantified_ --> 'LET' let_ty_decls 'IN' ty_expr  gotos:state 233:  items:    ty_expr_unquantified_ -> ty_expr_htuple_atom . 'COMMA' ty_expr_htuple
    ty_expr_unquantified_ -> ty_expr_htuple_atom . 'ARROW' ty_expr
    ty_expr_unquantified_ -> ty_expr_htuple_atom . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'TYPE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'EQ' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'STAR' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'ARROW' (explicit right 9985):   shift 236
    action 'VAL' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'OVER' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BRAGT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'LTKET' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BRALT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'GTKET' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'HASH' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'DO' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'INJECT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'EJECT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'IMPLIES' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'DATATYPE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'DATA' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'FORALL' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BOTTOM' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'LET' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'REC' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'IN' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'IF' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'THEN' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'ELSE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'FUN' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'MATCH' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'WHEN' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'WITH' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'FUNCTION' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'TRUE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'FALSE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'AS' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'OF' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'OPEN' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'WHERE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'UNDERSCORE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BACKSLASH' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'KIND' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'QUESTION' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BRA' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'KET' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'CURBRA' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'CURKET' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'SQBRA' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'SQKET' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'PLUS' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'MINUS' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'SLASH' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'MOD' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'NEQ' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'LT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'GT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'LEQ' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'GEQ' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'AND' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'NOT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'PIPE' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'AMP' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BANG' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'COLONGT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'COLON' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'COLON2' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'SEMICOLON' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'DOT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'COMMA' (explicit left 9984):   shift 234
    action 'ASSIGN' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'STRING' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'UID' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'LID' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'INFIX' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'TICK_ID' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'AT_ID' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'CHAR' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'FLOAT' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'INT32' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'AT_INT32' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action 'error' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action '#' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
    action '$$' (noprec):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom
  immediate action: <none>  gotos:state 234:  items:    ty_expr_unquantified_ -> ty_expr_htuple_atom 'COMMA' . ty_expr_htuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 238
    goto ty_expr_app_atom: 247
    goto ty_expr_htuple: 235
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 235:  items:    ty_expr_unquantified_ -> ty_expr_htuple_atom 'COMMA' ty_expr_htuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'TYPE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'EQ' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'STAR' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'ARROW' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'VAL' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OVER' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BRAGT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LTKET' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BRALT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'GTKET' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'HASH' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DO' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'INJECT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'EJECT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'IMPLIES' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DATATYPE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DATA' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FORALL' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BOTTOM' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LET' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'REC' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'IN' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'IF' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'THEN' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'ELSE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FUN' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MATCH' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'WHEN' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'WITH' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FUNCTION' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'TRUE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FALSE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AS' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OF' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'NAMESPACE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OPEN' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'WHERE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OVERLOAD' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'UNDERSCORE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BACKSLASH' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'KIND' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'QUESTION' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BRA' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'KET' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'CURBRA' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'CURKET' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SQBRA' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SQKET' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'PLUS' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MINUS' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SLASH' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'PLUSDOT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MINUSDOT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MOD' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'NEQ' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'GT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LEQ' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'GEQ' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AND' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'NOT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'PIPE' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AMP' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BANG' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COLONGT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COLON' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COLON2' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SEMICOLON' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SEMICOLON2' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DOT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COMMA' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'ASSIGN' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'STRING' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'UID' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LID' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'INFIX' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'TICK_ID' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AT_ID' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'CHAR' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FLOAT' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'INT32' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AT_INT32' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'error' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action '#' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action '$$' (explicit left 9984):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
  immediate action:   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple  gotos:state 236:  items:    ty_expr_unquantified_ -> ty_expr_htuple_atom 'ARROW' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 237
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 237:  items:    ty_expr_unquantified_ -> ty_expr_htuple_atom 'ARROW' ty_expr . 
  actions:    action 'EOF' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'TYPE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'EQ' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'STAR' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'ARROW' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'VAL' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'OVER' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BRAGT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'LTKET' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BRALT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'GTKET' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'HASH' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'DO' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'INJECT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'EJECT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'IMPLIES' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'DATATYPE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'DATA' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'FORALL' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BOTTOM' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'LET' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'REC' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'IN' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'IF' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'THEN' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'ELSE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'FUN' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'MATCH' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'WHEN' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'WITH' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'FUNCTION' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'TRUE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'FALSE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'AS' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'OF' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'NAMESPACE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'OPEN' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'WHERE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'OVERLOAD' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'DOUBLEAMP' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'DOUBLEPIPE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'UNDERSCORE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BACKSLASH' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'KIND' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'QUESTION' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BRA' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'KET' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'CURBRA' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'CURKET' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'SQBRA' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'SQKET' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'PLUS' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'MINUS' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'SLASH' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'PLUSDOT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'MINUSDOT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'MOD' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'NEQ' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'LT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'GT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'LEQ' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'GEQ' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'AND' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'NOT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'PIPE' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'AMP' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BANG' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'COLONGT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'COLON' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'COLON2' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'SEMICOLON' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'SEMICOLON2' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'DOT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'COMMA' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'ASSIGN' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'STRING' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'UID' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'LID' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'INFIX' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'TICK_ID' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'BACKTICK_ID' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'AT_ID' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'CHAR' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'FLOAT' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'INT32' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'AT_INT32' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action 'error' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action '#' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
    action '$$' (explicit right 9985):   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr
  immediate action:   reduce ty_expr_unquantified_ --> ty_expr_htuple_atom 'ARROW' ty_expr  gotos:state 238:  items:    ty_expr_htuple -> ty_expr_htuple_atom . 
    ty_expr_htuple -> ty_expr_htuple_atom . 'COMMA' ty_expr_htuple
  actions:    action 'EOF' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'TYPE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'EQ' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'STAR' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'ARROW' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'VAL' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'OVER' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BRAGT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'LTKET' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BRALT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'GTKET' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'HASH' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'DO' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'INJECT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'EJECT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'IMPLIES' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'DATATYPE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'DATA' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'FORALL' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BOTTOM' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'LET' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'REC' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'IN' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'IF' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'THEN' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'ELSE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'FUN' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'MATCH' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'WHEN' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'WITH' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'FUNCTION' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'TRUE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'FALSE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'AS' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'OF' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'OPEN' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'WHERE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'UNDERSCORE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BACKSLASH' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'KIND' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'QUESTION' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BRA' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'KET' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'CURBRA' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'CURKET' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'SQBRA' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'SQKET' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'PLUS' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'MINUS' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'SLASH' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'MOD' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'NEQ' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'LT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'GT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'LEQ' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'GEQ' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'AND' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'NOT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'PIPE' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'AMP' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BANG' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'COLONGT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'COLON' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'COLON2' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'SEMICOLON' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'DOT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'COMMA' (explicit left 9984):   shift 239
    action 'ASSIGN' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'STRING' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'UID' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'LID' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'INFIX' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'TICK_ID' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'AT_ID' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'CHAR' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'FLOAT' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'INT32' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'AT_INT32' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action 'error' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action '#' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
    action '$$' (noprec):   reduce ty_expr_htuple --> ty_expr_htuple_atom
  immediate action: <none>  gotos:state 239:  items:    ty_expr_htuple -> ty_expr_htuple_atom 'COMMA' . ty_expr_htuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 238
    goto ty_expr_app_atom: 247
    goto ty_expr_htuple: 240
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 240:  items:    ty_expr_htuple -> ty_expr_htuple_atom 'COMMA' ty_expr_htuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'TYPE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'EQ' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'STAR' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'ARROW' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'VAL' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OVER' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BRAGT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LTKET' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BRALT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'GTKET' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'HASH' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DO' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'INJECT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'EJECT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'IMPLIES' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DATATYPE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DATA' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FORALL' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BOTTOM' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LET' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'REC' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'IN' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'IF' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'THEN' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'ELSE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FUN' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MATCH' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'WHEN' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'WITH' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FUNCTION' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'TRUE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FALSE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AS' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OF' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'NAMESPACE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OPEN' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'WHERE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'OVERLOAD' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'UNDERSCORE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BACKSLASH' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'KIND' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'QUESTION' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BRA' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'KET' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'CURBRA' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'CURKET' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SQBRA' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SQKET' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'PLUS' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MINUS' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SLASH' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'PLUSDOT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MINUSDOT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'MOD' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'NEQ' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'GT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LEQ' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'GEQ' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AND' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'NOT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'PIPE' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AMP' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BANG' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COLONGT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COLON' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COLON2' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SEMICOLON' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'SEMICOLON2' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'DOT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'COMMA' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'ASSIGN' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'STRING' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'UID' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'LID' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'INFIX' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'TICK_ID' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AT_ID' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'CHAR' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'FLOAT' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'INT32' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'AT_INT32' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action 'error' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action '#' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
    action '$$' (explicit left 9984):   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple
  immediate action:   reduce ty_expr_htuple --> ty_expr_htuple_atom 'COMMA' ty_expr_htuple  gotos:state 241:  items:    ty_expr_htuple_atom_ -> ty_expr_tuple_atom . 
    ty_expr_htuple_atom_ -> ty_expr_tuple_atom . 'STAR' ty_expr_tuple
    ty_expr_tuple_atom_ -> ty_expr_tuple_atom . ty_expr_app_atom
    ty_expr_tuple_atom_ -> ty_expr_tuple_atom . 'COLON2' kind
  actions:    action 'EOF' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'TYPE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'EQ' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 242
    action 'ARROW' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'VAL' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'OVER' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'BRAGT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'LTKET' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'BRALT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'GTKET' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'HASH' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'DO' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'INJECT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'EJECT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'DATA' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'FORALL' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'LET' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'REC' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'IN' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'IF' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'THEN' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'ELSE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'FUN' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'MATCH' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'WHEN' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'WITH' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'TRUE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'FALSE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'AS' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'OF' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'OPEN' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'WHERE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'KIND' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'QUESTION' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'SQBRA' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'SQKET' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'PLUS' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'MINUS' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'SLASH' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'MOD' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'NEQ' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'LT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'GT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'LEQ' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'GEQ' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'AND' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'NOT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'PIPE' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'AMP' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'BANG' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'COLONGT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'COLON' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'COLON2' (explicit right 9988):   shift 249
    action 'SEMICOLON' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'DOT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'COMMA' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'ASSIGN' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'STRING' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'AT_ID' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'CHAR' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'FLOAT' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'INT32' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'AT_INT32' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action 'error' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action '#' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
    action '$$' (noprec):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr_app_atom: 248
    goto ty_expr_app_atom_: 214
state 242:  items:    ty_expr_htuple_atom_ -> ty_expr_tuple_atom 'STAR' . ty_expr_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr_tuple_atom: 244
    goto ty_expr_app_atom: 247
    goto ty_expr_tuple: 243
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 243:  items:    ty_expr_htuple_atom_ -> ty_expr_tuple_atom 'STAR' ty_expr_tuple . 
  actions:    action 'EOF' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'TYPE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'EQ' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'STAR' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'ARROW' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'VAL' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OVER' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BRAGT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LTKET' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BRALT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'GTKET' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'HASH' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DO' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'INJECT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'EJECT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'IMPLIES' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DATATYPE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DATA' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FORALL' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BOTTOM' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LET' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'REC' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'IN' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'IF' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'THEN' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'ELSE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FUN' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MATCH' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'WHEN' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'WITH' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FUNCTION' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'TRUE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FALSE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AS' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OF' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'NAMESPACE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OPEN' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'WHERE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OVERLOAD' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DOUBLEAMP' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DOUBLEPIPE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'UNDERSCORE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BACKSLASH' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'KIND' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'QUESTION' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BRA' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'KET' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'CURBRA' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'CURKET' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SQBRA' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SQKET' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'PLUS' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MINUS' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SLASH' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'PLUSDOT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MINUSDOT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MOD' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'NEQ' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'GT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LEQ' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'GEQ' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AND' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'NOT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'PIPE' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AMP' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BANG' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COLONGT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COLON' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COLON2' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SEMICOLON' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SEMICOLON2' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DOT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COMMA' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'ASSIGN' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'STRING' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'UID' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LID' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'INFIX' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'TICK_ID' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BACKTICK_ID' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AT_ID' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'CHAR' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FLOAT' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'INT32' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AT_INT32' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'error' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action '#' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action '$$' (explicit left 9992):   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
  immediate action:   reduce ty_expr_htuple_atom_ --> ty_expr_tuple_atom 'STAR' ty_expr_tuple  gotos:state 244:  items:    ty_expr_tuple -> ty_expr_tuple_atom . 
    ty_expr_tuple -> ty_expr_tuple_atom . 'STAR' ty_expr_tuple
    ty_expr_tuple_atom_ -> ty_expr_tuple_atom . ty_expr_app_atom
    ty_expr_tuple_atom_ -> ty_expr_tuple_atom . 'COLON2' kind
  actions:    action 'EOF' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'TYPE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'EQ' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 245
    action 'ARROW' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'VAL' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'OVER' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'BRAGT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'LTKET' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'BRALT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'GTKET' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'HASH' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'DO' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'INJECT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'EJECT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'DATA' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'FORALL' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'LET' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'REC' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'IN' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'IF' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'THEN' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'ELSE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'FUN' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'MATCH' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'WHEN' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'WITH' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'TRUE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'FALSE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'AS' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'OF' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'OPEN' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'WHERE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'KIND' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'QUESTION' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'SQBRA' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'SQKET' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'PLUS' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'MINUS' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'SLASH' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'MOD' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'NEQ' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'LT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'GT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'LEQ' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'GEQ' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'AND' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'NOT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'PIPE' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'AMP' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'BANG' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'COLONGT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'COLON' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'COLON2' (explicit right 9988):   shift 249
    action 'SEMICOLON' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'DOT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'COMMA' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'ASSIGN' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'STRING' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'AT_ID' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'CHAR' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'FLOAT' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'INT32' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'AT_INT32' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action 'error' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action '#' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
    action '$$' (noprec):   reduce ty_expr_tuple --> ty_expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr_app_atom: 248
    goto ty_expr_app_atom_: 214
state 245:  items:    ty_expr_tuple -> ty_expr_tuple_atom 'STAR' . ty_expr_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr_tuple_atom: 244
    goto ty_expr_app_atom: 247
    goto ty_expr_tuple: 246
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 246:  items:    ty_expr_tuple -> ty_expr_tuple_atom 'STAR' ty_expr_tuple . 
  actions:    action 'EOF' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'TYPE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'EQ' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'STAR' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'ARROW' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'VAL' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OVER' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BRAGT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LTKET' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BRALT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'GTKET' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'HASH' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DO' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'INJECT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'EJECT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'IMPLIES' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DATATYPE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DATA' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FORALL' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BOTTOM' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LET' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'REC' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'IN' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'IF' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'THEN' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'ELSE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FUN' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MATCH' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'WHEN' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'WITH' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FUNCTION' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'TRUE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FALSE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AS' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OF' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'NAMESPACE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OPEN' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'WHERE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'OVERLOAD' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DOUBLEAMP' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DOUBLEPIPE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'UNDERSCORE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BACKSLASH' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'KIND' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'QUESTION' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BRA' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'KET' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'CURBRA' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'CURKET' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SQBRA' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SQKET' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'PLUS' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MINUS' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SLASH' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'PLUSDOT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MINUSDOT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'MOD' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'NEQ' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'GT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LEQ' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'GEQ' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AND' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'NOT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'PIPE' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AMP' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BANG' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COLONGT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COLON' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COLON2' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SEMICOLON' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'SEMICOLON2' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'DOT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'COMMA' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'ASSIGN' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'STRING' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'UID' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'LID' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'INFIX' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'TICK_ID' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'BACKTICK_ID' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AT_ID' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'CHAR' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'FLOAT' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'INT32' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'AT_INT32' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action 'error' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action '#' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
    action '$$' (explicit left 9992):   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple
  immediate action:   reduce ty_expr_tuple --> ty_expr_tuple_atom 'STAR' ty_expr_tuple  gotos:state 247:  items:    ty_expr_tuple_atom_ -> ty_expr_app_atom . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'TYPE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'EQ' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'STAR' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'ARROW' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'VAL' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'OVER' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BRAGT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'LTKET' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BRALT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'GTKET' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'HASH' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'DO' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'INJECT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'EJECT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'IMPLIES' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'DATATYPE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'DATA' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'FORALL' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BOTTOM' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'LET' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'REC' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'IN' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'IF' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'THEN' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'ELSE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'FUN' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'MATCH' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'WHEN' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'WITH' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'FUNCTION' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'TRUE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'FALSE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'AS' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'OF' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'NAMESPACE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'OPEN' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'WHERE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'OVERLOAD' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'UNDERSCORE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BACKSLASH' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'KIND' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'QUESTION' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BRA' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'KET' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'CURBRA' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'CURKET' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'SQBRA' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'SQKET' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'PLUS' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'MINUS' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'SLASH' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'PLUSDOT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'MINUSDOT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'MOD' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'NEQ' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'LT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'GT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'LEQ' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'GEQ' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'AND' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'NOT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'PIPE' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'AMP' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BANG' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'COLONGT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'COLON' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'COLON2' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'SEMICOLON' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'SEMICOLON2' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'DOT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'COMMA' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'ASSIGN' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'STRING' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'UID' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'LID' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'INFIX' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'TICK_ID' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'AT_ID' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'CHAR' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'FLOAT' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'INT32' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'AT_INT32' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action 'error' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action '#' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
    action '$$' (noprec):   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom
  immediate action:   reduce ty_expr_tuple_atom_ --> ty_expr_app_atom  gotos:state 248:  items:    ty_expr_tuple_atom_ -> ty_expr_tuple_atom ty_expr_app_atom . 
  actions:    action 'EOF' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'TYPE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'EQ' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'STAR' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'ARROW' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'VAL' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'OVER' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BRAGT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'LTKET' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BRALT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'GTKET' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'HASH' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'DO' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'INJECT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'EJECT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'IMPLIES' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'DATATYPE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'DATA' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'FORALL' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BOTTOM' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'LET' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'REC' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'IN' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'IF' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'THEN' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'ELSE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'FUN' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'MATCH' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'WHEN' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'WITH' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'FUNCTION' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'TRUE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'FALSE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'AS' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'OF' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'NAMESPACE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'OPEN' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'WHERE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'OVERLOAD' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'DOUBLEAMP' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'DOUBLEPIPE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'UNDERSCORE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BACKSLASH' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'KIND' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'QUESTION' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BRA' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'KET' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'CURBRA' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'CURKET' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'SQBRA' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'SQKET' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'PLUS' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'MINUS' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'SLASH' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'PLUSDOT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'MINUSDOT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'MOD' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'NEQ' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'LT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'GT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'LEQ' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'GEQ' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'AND' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'NOT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'PIPE' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'AMP' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BANG' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'COLONGT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'COLON' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'COLON2' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'SEMICOLON' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'DOT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'COMMA' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'ASSIGN' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'STRING' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'UID' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'LID' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'INFIX' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'TICK_ID' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'BACKTICK_ID' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'AT_ID' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'CHAR' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'FLOAT' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'INT32' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'AT_INT32' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action 'error' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action '#' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
    action '$$' (explicit left 9996):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom
  immediate action:   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom ty_expr_app_atom  gotos:state 249:  items:    ty_expr_tuple_atom_ -> ty_expr_tuple_atom 'COLON2' . kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 250
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 250:  items:    ty_expr_tuple_atom_ -> ty_expr_tuple_atom 'COLON2' kind . 
  actions:    action 'EOF' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'TYPE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'EQ' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'STAR' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'ARROW' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'VAL' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'OVER' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BRAGT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'LTKET' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BRALT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'GTKET' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'HASH' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'DO' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'INJECT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'EJECT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'IMPLIES' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'DATATYPE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'DATA' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'FORALL' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BOTTOM' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'LET' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'REC' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'IN' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'IF' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'THEN' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'ELSE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'FUN' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'MATCH' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'WHEN' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'WITH' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'FUNCTION' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'TRUE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'FALSE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'AS' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'OF' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'NAMESPACE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'OPEN' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'WHERE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'OVERLOAD' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'DOUBLEAMP' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'DOUBLEPIPE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'UNDERSCORE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BACKSLASH' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'KIND' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'QUESTION' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BRA' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'KET' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'CURBRA' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'CURKET' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'SQBRA' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'SQKET' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'PLUS' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'MINUS' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'SLASH' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'PLUSDOT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'MINUSDOT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'MOD' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'NEQ' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'LT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'GT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'LEQ' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'GEQ' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'AND' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'NOT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'PIPE' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'AMP' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BANG' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'COLONGT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'COLON' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'COLON2' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'SEMICOLON' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'SEMICOLON2' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'DOT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'COMMA' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'ASSIGN' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'STRING' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'UID' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'LID' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'INFIX' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'TICK_ID' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'BACKTICK_ID' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'AT_ID' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'CHAR' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'FLOAT' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'INT32' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'AT_INT32' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action 'error' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action '#' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
    action '$$' (explicit right 9988):   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind
  immediate action:   reduce ty_expr_tuple_atom_ --> ty_expr_tuple_atom 'COLON2' kind  gotos:state 251:  items:    ty_expr_app_atom_ -> id . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> id
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> id
    action '#' (noprec):   reduce ty_expr_app_atom_ --> id
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> id
  immediate action:   reduce ty_expr_app_atom_ --> id  gotos:state 252:  items:    ty_expr_app_atom_ -> 'TICK_ID' . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action '#' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> 'TICK_ID'
  immediate action:   reduce ty_expr_app_atom_ --> 'TICK_ID'  gotos:state 253:  items:    ty_expr_app_atom_ -> 'UNDERSCORE' . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action '#' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> 'UNDERSCORE'
  immediate action:   reduce ty_expr_app_atom_ --> 'UNDERSCORE'  gotos:state 254:  items:    ty_expr_app_atom_ -> 'BRA' . ty_expr 'KET'
    ty_expr_app_atom_ -> 'BRA' . symbol 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 508
    action 'STAR' (explicit left 9992):   shift 505
    action 'ARROW' (explicit right 9985):   shift 516
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (explicit left 9987):   shift 515
    action 'DOUBLEPIPE' (explicit left 9986):   shift 514
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (explicit left 9990):   shift 503
    action 'MINUS' (explicit left 9990):   shift 504
    action 'SLASH' (explicit left 9992):   shift 506
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (explicit left 9992):   shift 507
    action 'NEQ' (explicit left 9989):   shift 509
    action 'LT' (explicit left 9989):   shift 510
    action 'GT' (explicit left 9989):   shift 511
    action 'LEQ' (explicit left 9989):   shift 512
    action 'GEQ' (explicit left 9989):   shift 513
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 517
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 255
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
    goto symbol: 263
state 255:  items:    ty_expr_app_atom_ -> 'BRA' ty_expr . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 256
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 256:  items:    ty_expr_app_atom_ -> 'BRA' ty_expr 'KET' . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action '#' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'
  immediate action:   reduce ty_expr_app_atom_ --> 'BRA' ty_expr 'KET'  gotos:state 257:  items:    ty_expr_app_atom_ -> 'CURBRA' . ty_expr_record 'CURKET'
    ty_expr_app_atom_ -> 'CURBRA' . ty_expr_record 'PIPE' ty_expr 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 265
    goto ty_expr_record: 258
state 258:  items:    ty_expr_app_atom_ -> 'CURBRA' ty_expr_record . 'CURKET'
    ty_expr_app_atom_ -> 'CURBRA' ty_expr_record . 'PIPE' ty_expr 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 259
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 260
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 259:  items:    ty_expr_app_atom_ -> 'CURBRA' ty_expr_record 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action '#' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'
  immediate action:   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'CURKET'  gotos:state 260:  items:    ty_expr_app_atom_ -> 'CURBRA' ty_expr_record 'PIPE' . ty_expr 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 261
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 261:  items:    ty_expr_app_atom_ -> 'CURBRA' ty_expr_record 'PIPE' ty_expr . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 262
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 262:  items:    ty_expr_app_atom_ -> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action '#' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'
  immediate action:   reduce ty_expr_app_atom_ --> 'CURBRA' ty_expr_record 'PIPE' ty_expr 'CURKET'  gotos:state 263:  items:    ty_expr_app_atom_ -> 'BRA' symbol . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 264
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 264:  items:    ty_expr_app_atom_ -> 'BRA' symbol 'KET' . 
  actions:    action 'EOF' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'TYPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'EQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'STAR' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'ARROW' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'VAL' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVER' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRAGT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LTKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRALT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'GTKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'HASH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DO' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'INJECT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'EJECT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'IMPLIES' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATATYPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FORALL' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BOTTOM' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'REC' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'IN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'IF' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'THEN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'ELSE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MATCH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHEN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'WITH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUNCTION' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'TRUE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FALSE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AS' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OF' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'NAMESPACE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OPEN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHERE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVERLOAD' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'UNDERSCORE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKSLASH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'KIND' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'QUESTION' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'KET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURBRA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQBRA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQKET' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUS' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUS' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SLASH' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUSDOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MOD' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'NEQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'GT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LEQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'GEQ' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AND' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'NOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'PIPE' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AMP' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BANG' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLONGT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON2' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON2' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COMMA' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'ASSIGN' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'STRING' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'UID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'INFIX' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'TICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_ID' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'CHAR' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FLOAT' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'INT32' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_INT32' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'error' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action '#' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
    action '$$' (noprec):   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'
  immediate action:   reduce ty_expr_app_atom_ --> 'BRA' symbol 'KET'  gotos:state 265:  items:    ty_expr_record -> id . 'COLON' ty_expr
    ty_expr_record -> id . 'COLON' ty_expr 'SEMICOLON' ty_expr_record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   shift 266
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 266:  items:    ty_expr_record -> id 'COLON' . ty_expr
    ty_expr_record -> id 'COLON' . ty_expr 'SEMICOLON' ty_expr_record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 267
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 267:  items:    ty_expr_record -> id 'COLON' ty_expr . 
    ty_expr_record -> id 'COLON' ty_expr . 'SEMICOLON' ty_expr_record
  actions:    action 'EOF' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'TYPE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'EQ' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'STAR' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'ARROW' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'VAL' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'OVER' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BRAGT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'LTKET' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BRALT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'GTKET' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'HASH' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'DO' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'INJECT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'EJECT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'IMPLIES' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'DATATYPE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'DATA' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'FORALL' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BOTTOM' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'LET' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'REC' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'IN' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'IF' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'THEN' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'ELSE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'FUN' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'MATCH' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'WHEN' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'WITH' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'FUNCTION' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'TRUE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'FALSE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'AS' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'OF' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'NAMESPACE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'OPEN' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'WHERE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'OVERLOAD' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'UNDERSCORE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BACKSLASH' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'KIND' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'QUESTION' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BRA' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'KET' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'CURBRA' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'CURKET' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'SQBRA' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'SQKET' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'PLUS' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'MINUS' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'SLASH' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'PLUSDOT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'MINUSDOT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'MOD' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'NEQ' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'LT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'GT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'LEQ' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'GEQ' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'AND' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'NOT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'PIPE' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'AMP' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BANG' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'COLONGT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'COLON' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'COLON2' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'SEMICOLON' (explicit right 9980):   shift 268
    action 'SEMICOLON2' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'DOT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'COMMA' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'ASSIGN' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'STRING' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'UID' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'LID' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'INFIX' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'TICK_ID' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'AT_ID' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'CHAR' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'FLOAT' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'INT32' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'AT_INT32' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action 'error' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action '#' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
    action '$$' (noprec):   reduce ty_expr_record --> id 'COLON' ty_expr
  immediate action: <none>  gotos:state 268:  items:    ty_expr_record -> id 'COLON' ty_expr 'SEMICOLON' . ty_expr_record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 265
    goto ty_expr_record: 269
state 269:  items:    ty_expr_record -> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record . 
  actions:    action 'EOF' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'TYPE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'EQ' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'STAR' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'ARROW' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'VAL' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'OVER' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BRAGT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'LTKET' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BRALT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'GTKET' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'HASH' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'DO' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'INJECT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'EJECT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'IMPLIES' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'DATATYPE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'DATA' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'FORALL' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BOTTOM' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'LET' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'REC' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'IN' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'IF' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'THEN' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'ELSE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'FUN' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'MATCH' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'WHEN' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'WITH' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'FUNCTION' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'TRUE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'FALSE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'AS' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'OF' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'NAMESPACE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'OPEN' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'WHERE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'OVERLOAD' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'DOUBLEAMP' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'DOUBLEPIPE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'UNDERSCORE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BACKSLASH' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'KIND' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'QUESTION' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BRA' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'KET' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'CURBRA' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'CURKET' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'SQBRA' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'SQKET' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'PLUS' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'MINUS' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'SLASH' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'PLUSDOT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'MINUSDOT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'MOD' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'NEQ' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'LT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'GT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'LEQ' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'GEQ' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'AND' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'NOT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'PIPE' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'AMP' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BANG' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'COLONGT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'COLON' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'COLON2' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'SEMICOLON' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'SEMICOLON2' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'DOT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'COMMA' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'ASSIGN' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'STRING' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'UID' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'LID' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'INFIX' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'TICK_ID' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'BACKTICK_ID' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'AT_ID' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'CHAR' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'FLOAT' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'INT32' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'AT_INT32' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action 'error' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action '#' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
    action '$$' (explicit right 9980):   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record
  immediate action:   reduce ty_expr_record --> id 'COLON' ty_expr 'SEMICOLON' ty_expr_record  gotos:state 270:  items:    let_ty_decls -> let_ty_decl . 
    let_ty_decls -> let_ty_decl . 'LET' let_ty_decls
  actions:    action 'EOF' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'TYPE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'EQ' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'STAR' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'ARROW' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'VAL' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'OVER' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BRAGT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'LTKET' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BRALT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'GTKET' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'HASH' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'DO' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'INJECT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'EJECT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'IMPLIES' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'DATATYPE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'DATA' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'FORALL' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BOTTOM' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'LET' (noprec):   shift 271
    action 'REC' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'IN' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'IF' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'THEN' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'ELSE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'FUN' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'MATCH' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'WHEN' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'WITH' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'FUNCTION' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'TRUE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'FALSE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'AS' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'OF' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'NAMESPACE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'OPEN' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'WHERE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'OVERLOAD' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'UNDERSCORE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BACKSLASH' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'KIND' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'QUESTION' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BRA' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'KET' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'CURBRA' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'CURKET' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'SQBRA' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'SQKET' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'PLUS' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'MINUS' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'SLASH' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'PLUSDOT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'MINUSDOT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'MOD' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'NEQ' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'LT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'GT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'LEQ' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'GEQ' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'AND' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'NOT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'PIPE' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'AMP' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BANG' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'COLONGT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'COLON' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'COLON2' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'SEMICOLON' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'SEMICOLON2' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'DOT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'COMMA' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'ASSIGN' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'STRING' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'UID' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'LID' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'INFIX' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'TICK_ID' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'AT_ID' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'CHAR' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'FLOAT' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'INT32' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'AT_INT32' (noprec):   reduce let_ty_decls --> let_ty_decl
    action 'error' (noprec):   reduce let_ty_decls --> let_ty_decl
    action '#' (noprec):   reduce let_ty_decls --> let_ty_decl
    action '$$' (noprec):   reduce let_ty_decls --> let_ty_decl
  immediate action: <none>  gotos:state 271:  items:    let_ty_decls -> let_ty_decl 'LET' . let_ty_decls
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 277
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 275
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 281
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 274
    goto ty_expr_binding: 75
    goto let_ty_decls: 272
    goto let_ty_decl: 270
    goto let_ty_decl_: 273
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 272:  items:    let_ty_decls -> let_ty_decl 'LET' let_ty_decls . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'TYPE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'EQ' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'STAR' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'ARROW' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'VAL' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'OVER' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BRAGT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'LTKET' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BRALT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'GTKET' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'HASH' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'DO' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'INJECT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'EJECT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'IMPLIES' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'DATATYPE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'DATA' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'FORALL' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BOTTOM' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'LET' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'REC' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'IN' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'IF' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'THEN' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'ELSE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'FUN' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'MATCH' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'WHEN' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'WITH' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'FUNCTION' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'TRUE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'FALSE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'AS' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'OF' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'NAMESPACE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'OPEN' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'WHERE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'OVERLOAD' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'UNDERSCORE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BACKSLASH' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'KIND' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'QUESTION' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BRA' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'KET' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'CURBRA' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'CURKET' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'SQBRA' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'SQKET' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'PLUS' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'MINUS' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'SLASH' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'PLUSDOT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'MINUSDOT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'MOD' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'NEQ' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'LT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'GT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'LEQ' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'GEQ' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'AND' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'NOT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'PIPE' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'AMP' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BANG' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'COLONGT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'COLON' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'COLON2' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'SEMICOLON' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'SEMICOLON2' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'DOT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'COMMA' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'ASSIGN' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'STRING' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'UID' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'LID' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'INFIX' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'TICK_ID' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'AT_ID' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'CHAR' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'FLOAT' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'INT32' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'AT_INT32' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action 'error' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action '#' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
    action '$$' (noprec):   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls
  immediate action:   reduce let_ty_decls --> let_ty_decl 'LET' let_ty_decls  gotos:state 273:  items:    let_ty_decl -> let_ty_decl_ . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'TYPE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'EQ' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'STAR' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'ARROW' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'VAL' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'OVER' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BRAGT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'LTKET' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BRALT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'GTKET' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'HASH' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'DO' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'INJECT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'EJECT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'IMPLIES' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'DATATYPE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'DATA' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'FORALL' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BOTTOM' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'LET' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'REC' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'IN' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'IF' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'THEN' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'ELSE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'FUN' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'MATCH' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'WHEN' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'WITH' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'FUNCTION' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'TRUE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'FALSE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'AS' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'OF' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'NAMESPACE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'OPEN' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'WHERE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'OVERLOAD' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'UNDERSCORE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BACKSLASH' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'KIND' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'QUESTION' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BRA' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'KET' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'CURBRA' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'CURKET' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'SQBRA' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'SQKET' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'PLUS' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'MINUS' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'SLASH' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'PLUSDOT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'MINUSDOT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'MOD' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'NEQ' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'LT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'GT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'LEQ' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'GEQ' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'AND' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'NOT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'PIPE' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'AMP' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BANG' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'COLONGT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'COLON' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'COLON2' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'SEMICOLON' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'SEMICOLON2' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'DOT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'COMMA' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'ASSIGN' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'STRING' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'UID' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'LID' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'INFIX' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'TICK_ID' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'AT_ID' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'CHAR' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'FLOAT' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'INT32' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'AT_INT32' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action 'error' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action '#' (noprec):   reduce let_ty_decl --> let_ty_decl_
    action '$$' (noprec):   reduce let_ty_decl --> let_ty_decl_
  immediate action:   reduce let_ty_decl --> let_ty_decl_  gotos:state 274:  items:    let_ty_decl_ -> ty_expr_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'TYPE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'EQ' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'STAR' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'ARROW' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'VAL' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'OVER' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BRAGT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'LTKET' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BRALT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'GTKET' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'HASH' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'DO' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'INJECT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'EJECT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'IMPLIES' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'DATATYPE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'DATA' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'FORALL' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BOTTOM' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'LET' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'REC' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'IN' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'IF' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'THEN' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'ELSE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'FUN' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'MATCH' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'WHEN' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'WITH' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'FUNCTION' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'TRUE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'FALSE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'AS' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'OF' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'OPEN' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'WHERE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'KIND' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'QUESTION' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BRA' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'KET' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'CURBRA' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'CURKET' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'SQBRA' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'SQKET' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'PLUS' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'MINUS' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'SLASH' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'MOD' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'NEQ' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'LT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'GT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'LEQ' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'GEQ' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'AND' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'NOT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'PIPE' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'AMP' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BANG' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'COLONGT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'COLON' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'COLON2' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'DOT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'COMMA' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'ASSIGN' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'STRING' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'UID' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'LID' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'INFIX' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'TICK_ID' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'AT_ID' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'CHAR' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'FLOAT' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'INT32' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'AT_INT32' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action 'error' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action '#' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
    action '$$' (noprec):   reduce let_ty_decl_ --> ty_expr_and_bindings
  immediate action:   reduce let_ty_decl_ --> ty_expr_and_bindings  gotos:state 275:  items:    let_ty_decl_ -> 'REC' . ty_expr_and_bindings
    let_ty_decl_ -> 'REC' . 'TYPE' ty_expr_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 279
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 276
    goto ty_expr_binding: 75
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 276:  items:    let_ty_decl_ -> 'REC' ty_expr_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'TYPE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'EQ' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'STAR' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'ARROW' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'VAL' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'OVER' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BRAGT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'LTKET' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BRALT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'GTKET' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'HASH' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'DO' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'INJECT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'EJECT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'IMPLIES' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'DATATYPE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'DATA' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'FORALL' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BOTTOM' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'LET' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'REC' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'IN' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'IF' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'THEN' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'ELSE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'FUN' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'MATCH' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'WHEN' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'WITH' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'FUNCTION' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'TRUE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'FALSE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'AS' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'OF' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'OPEN' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'WHERE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'KIND' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'QUESTION' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BRA' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'KET' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'CURBRA' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'CURKET' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'SQBRA' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'SQKET' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'PLUS' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'MINUS' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'SLASH' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'MOD' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'NEQ' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'LT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'GT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'LEQ' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'GEQ' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'AND' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'NOT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'PIPE' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'AMP' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BANG' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'COLONGT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'COLON' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'COLON2' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'DOT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'COMMA' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'ASSIGN' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'STRING' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'UID' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'LID' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'INFIX' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'TICK_ID' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'AT_ID' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'CHAR' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'FLOAT' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'INT32' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'AT_INT32' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action 'error' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action '#' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
    action '$$' (noprec):   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings
  immediate action:   reduce let_ty_decl_ --> 'REC' ty_expr_and_bindings  gotos:state 277:  items:    let_ty_decl_ -> 'TYPE' . ty_expr_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 278
    goto ty_expr_binding: 75
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 278:  items:    let_ty_decl_ -> 'TYPE' ty_expr_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'TYPE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'EQ' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'STAR' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'ARROW' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'VAL' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OVER' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BRAGT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LTKET' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BRALT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'GTKET' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'HASH' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DO' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'INJECT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'EJECT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'IMPLIES' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DATATYPE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DATA' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FORALL' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BOTTOM' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LET' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'REC' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'IN' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'IF' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'THEN' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'ELSE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FUN' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MATCH' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'WHEN' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'WITH' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FUNCTION' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'TRUE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FALSE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AS' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OF' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OPEN' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'WHERE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'KIND' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'QUESTION' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BRA' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'KET' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'CURBRA' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'CURKET' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SQBRA' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SQKET' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'PLUS' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MINUS' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SLASH' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'MOD' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'NEQ' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'GT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LEQ' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'GEQ' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AND' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'NOT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'PIPE' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AMP' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BANG' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COLONGT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COLON' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COLON2' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'DOT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'COMMA' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'ASSIGN' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'STRING' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'UID' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'LID' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'INFIX' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'TICK_ID' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AT_ID' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'CHAR' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'FLOAT' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'INT32' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'AT_INT32' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action 'error' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action '#' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
    action '$$' (noprec):   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings
  immediate action:   reduce let_ty_decl_ --> 'TYPE' ty_expr_and_bindings  gotos:state 279:  items:    let_ty_decl_ -> 'REC' 'TYPE' . ty_expr_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_expr_and_bindings: 280
    goto ty_expr_binding: 75
    goto ty_patt: 98
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 101
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 280:  items:    let_ty_decl_ -> 'REC' 'TYPE' ty_expr_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'TYPE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'EQ' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'STAR' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'ARROW' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'VAL' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'OVER' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BRAGT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'LTKET' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BRALT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'GTKET' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'HASH' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'DO' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'INJECT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'EJECT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'IMPLIES' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'DATATYPE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'DATA' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'FORALL' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BOTTOM' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'LET' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'REC' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'IN' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'IF' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'THEN' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'ELSE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'FUN' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'MATCH' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'WHEN' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'WITH' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'FUNCTION' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'TRUE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'FALSE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'AS' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'OF' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'OPEN' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'WHERE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'KIND' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'QUESTION' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BRA' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'KET' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'CURBRA' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'CURKET' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'SQBRA' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'SQKET' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'PLUS' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'MINUS' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'SLASH' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'MOD' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'NEQ' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'LT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'GT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'LEQ' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'GEQ' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'AND' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'NOT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'PIPE' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'AMP' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BANG' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'COLONGT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'COLON' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'COLON2' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'DOT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'COMMA' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'ASSIGN' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'STRING' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'UID' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'LID' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'INFIX' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'TICK_ID' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'AT_ID' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'CHAR' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'FLOAT' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'INT32' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'AT_INT32' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action 'error' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action '#' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
    action '$$' (noprec):   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings
  immediate action:   reduce let_ty_decl_ --> 'REC' 'TYPE' ty_expr_and_bindings  gotos:state 281:  items:    let_ty_decl_ -> 'KIND' . kind_and_bindings
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto kind_and_bindings: 282
    goto kind_binding: 78
    goto id: 109
state 282:  items:    let_ty_decl_ -> 'KIND' kind_and_bindings . 
  actions:    action 'EOF' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'TYPE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'EQ' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'STAR' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'ARROW' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'VAL' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'OVER' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BRAGT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'LTKET' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BRALT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'GTKET' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'HASH' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'DO' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'INJECT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'EJECT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'IMPLIES' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'DATATYPE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'DATA' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'FORALL' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BOTTOM' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'LET' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'REC' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'IN' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'IF' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'THEN' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'ELSE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'FUN' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'MATCH' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'WHEN' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'WITH' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'FUNCTION' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'TRUE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'FALSE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'AS' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'OF' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'NAMESPACE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'OPEN' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'WHERE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'OVERLOAD' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'DOUBLEAMP' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'DOUBLEPIPE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'UNDERSCORE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BACKSLASH' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'KIND' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'QUESTION' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BRA' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'KET' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'CURBRA' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'CURKET' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'SQBRA' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'SQKET' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'PLUS' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'MINUS' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'SLASH' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'PLUSDOT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'MINUSDOT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'MOD' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'NEQ' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'LT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'GT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'LEQ' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'GEQ' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'AND' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'NOT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'PIPE' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'AMP' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BANG' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'COLONGT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'COLON' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'COLON2' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'SEMICOLON' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'SEMICOLON2' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'DOT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'COMMA' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'ASSIGN' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'STRING' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'UID' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'LID' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'INFIX' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'TICK_ID' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'BACKTICK_ID' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'AT_ID' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'CHAR' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'FLOAT' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'INT32' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'AT_INT32' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action 'error' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action '#' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
    action '$$' (noprec):   reduce let_ty_decl_ --> 'KIND' kind_and_bindings
  immediate action:   reduce let_ty_decl_ --> 'KIND' kind_and_bindings  gotos:state 283:  items:    ty_patt -> ty_patt_ . 
  actions:    action 'EOF' (noprec):   reduce ty_patt --> ty_patt_
    action 'TYPE' (noprec):   reduce ty_patt --> ty_patt_
    action 'EQ' (noprec):   reduce ty_patt --> ty_patt_
    action 'STAR' (noprec):   reduce ty_patt --> ty_patt_
    action 'ARROW' (noprec):   reduce ty_patt --> ty_patt_
    action 'VAL' (noprec):   reduce ty_patt --> ty_patt_
    action 'OVER' (noprec):   reduce ty_patt --> ty_patt_
    action 'BRAGT' (noprec):   reduce ty_patt --> ty_patt_
    action 'LTKET' (noprec):   reduce ty_patt --> ty_patt_
    action 'BRALT' (noprec):   reduce ty_patt --> ty_patt_
    action 'GTKET' (noprec):   reduce ty_patt --> ty_patt_
    action 'HASH' (noprec):   reduce ty_patt --> ty_patt_
    action 'DO' (noprec):   reduce ty_patt --> ty_patt_
    action 'INJECT' (noprec):   reduce ty_patt --> ty_patt_
    action 'EJECT' (noprec):   reduce ty_patt --> ty_patt_
    action 'IMPLIES' (noprec):   reduce ty_patt --> ty_patt_
    action 'DATATYPE' (noprec):   reduce ty_patt --> ty_patt_
    action 'DATA' (noprec):   reduce ty_patt --> ty_patt_
    action 'FORALL' (noprec):   reduce ty_patt --> ty_patt_
    action 'BOTTOM' (noprec):   reduce ty_patt --> ty_patt_
    action 'LET' (noprec):   reduce ty_patt --> ty_patt_
    action 'REC' (noprec):   reduce ty_patt --> ty_patt_
    action 'IN' (noprec):   reduce ty_patt --> ty_patt_
    action 'IF' (noprec):   reduce ty_patt --> ty_patt_
    action 'THEN' (noprec):   reduce ty_patt --> ty_patt_
    action 'ELSE' (noprec):   reduce ty_patt --> ty_patt_
    action 'FUN' (noprec):   reduce ty_patt --> ty_patt_
    action 'MATCH' (noprec):   reduce ty_patt --> ty_patt_
    action 'WHEN' (noprec):   reduce ty_patt --> ty_patt_
    action 'WITH' (noprec):   reduce ty_patt --> ty_patt_
    action 'FUNCTION' (noprec):   reduce ty_patt --> ty_patt_
    action 'TRUE' (noprec):   reduce ty_patt --> ty_patt_
    action 'FALSE' (noprec):   reduce ty_patt --> ty_patt_
    action 'AS' (noprec):   reduce ty_patt --> ty_patt_
    action 'OF' (noprec):   reduce ty_patt --> ty_patt_
    action 'NAMESPACE' (noprec):   reduce ty_patt --> ty_patt_
    action 'OPEN' (noprec):   reduce ty_patt --> ty_patt_
    action 'WHERE' (noprec):   reduce ty_patt --> ty_patt_
    action 'OVERLOAD' (noprec):   reduce ty_patt --> ty_patt_
    action 'DOUBLEAMP' (noprec):   reduce ty_patt --> ty_patt_
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt --> ty_patt_
    action 'UNDERSCORE' (noprec):   reduce ty_patt --> ty_patt_
    action 'BACKSLASH' (noprec):   reduce ty_patt --> ty_patt_
    action 'KIND' (noprec):   reduce ty_patt --> ty_patt_
    action 'QUESTION' (noprec):   reduce ty_patt --> ty_patt_
    action 'BRA' (noprec):   reduce ty_patt --> ty_patt_
    action 'KET' (noprec):   reduce ty_patt --> ty_patt_
    action 'CURBRA' (noprec):   reduce ty_patt --> ty_patt_
    action 'CURKET' (noprec):   reduce ty_patt --> ty_patt_
    action 'SQBRA' (noprec):   reduce ty_patt --> ty_patt_
    action 'SQKET' (noprec):   reduce ty_patt --> ty_patt_
    action 'PLUS' (noprec):   reduce ty_patt --> ty_patt_
    action 'MINUS' (noprec):   reduce ty_patt --> ty_patt_
    action 'SLASH' (noprec):   reduce ty_patt --> ty_patt_
    action 'PLUSDOT' (noprec):   reduce ty_patt --> ty_patt_
    action 'MINUSDOT' (noprec):   reduce ty_patt --> ty_patt_
    action 'MOD' (noprec):   reduce ty_patt --> ty_patt_
    action 'NEQ' (noprec):   reduce ty_patt --> ty_patt_
    action 'LT' (noprec):   reduce ty_patt --> ty_patt_
    action 'GT' (noprec):   reduce ty_patt --> ty_patt_
    action 'LEQ' (noprec):   reduce ty_patt --> ty_patt_
    action 'GEQ' (noprec):   reduce ty_patt --> ty_patt_
    action 'AND' (noprec):   reduce ty_patt --> ty_patt_
    action 'NOT' (noprec):   reduce ty_patt --> ty_patt_
    action 'PIPE' (noprec):   reduce ty_patt --> ty_patt_
    action 'AMP' (noprec):   reduce ty_patt --> ty_patt_
    action 'BANG' (noprec):   reduce ty_patt --> ty_patt_
    action 'COLONGT' (noprec):   reduce ty_patt --> ty_patt_
    action 'COLON' (noprec):   reduce ty_patt --> ty_patt_
    action 'COLON2' (noprec):   reduce ty_patt --> ty_patt_
    action 'SEMICOLON' (noprec):   reduce ty_patt --> ty_patt_
    action 'SEMICOLON2' (noprec):   reduce ty_patt --> ty_patt_
    action 'DOT' (noprec):   reduce ty_patt --> ty_patt_
    action 'COMMA' (noprec):   reduce ty_patt --> ty_patt_
    action 'ASSIGN' (noprec):   reduce ty_patt --> ty_patt_
    action 'STRING' (noprec):   reduce ty_patt --> ty_patt_
    action 'UID' (noprec):   reduce ty_patt --> ty_patt_
    action 'LID' (noprec):   reduce ty_patt --> ty_patt_
    action 'INFIX' (noprec):   reduce ty_patt --> ty_patt_
    action 'TICK_ID' (noprec):   reduce ty_patt --> ty_patt_
    action 'BACKTICK_ID' (noprec):   reduce ty_patt --> ty_patt_
    action 'AT_ID' (noprec):   reduce ty_patt --> ty_patt_
    action 'CHAR' (noprec):   reduce ty_patt --> ty_patt_
    action 'FLOAT' (noprec):   reduce ty_patt --> ty_patt_
    action 'INT32' (noprec):   reduce ty_patt --> ty_patt_
    action 'AT_INT32' (noprec):   reduce ty_patt --> ty_patt_
    action 'error' (noprec):   reduce ty_patt --> ty_patt_
    action '#' (noprec):   reduce ty_patt --> ty_patt_
    action '$$' (noprec):   reduce ty_patt --> ty_patt_
  immediate action:   reduce ty_patt --> ty_patt_  gotos:state 284:  items:    ty_patt_arrow_atom -> ty_patt_arrow_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'TYPE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'EQ' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'STAR' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'ARROW' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'VAL' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'OVER' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BRAGT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'LTKET' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BRALT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'GTKET' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'HASH' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'DO' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'INJECT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'EJECT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'IMPLIES' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'DATATYPE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'DATA' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'FORALL' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BOTTOM' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'LET' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'REC' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'IN' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'IF' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'THEN' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'ELSE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'FUN' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'MATCH' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'WHEN' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'WITH' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'FUNCTION' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'TRUE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'FALSE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'AS' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'OF' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'NAMESPACE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'OPEN' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'WHERE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'OVERLOAD' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BACKSLASH' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'KIND' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'QUESTION' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BRA' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'KET' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'CURBRA' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'CURKET' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'SQBRA' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'SQKET' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'PLUS' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'MINUS' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'SLASH' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'PLUSDOT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'MINUSDOT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'MOD' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'NEQ' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'LT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'GT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'LEQ' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'GEQ' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'AND' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'NOT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'PIPE' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'AMP' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BANG' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'COLONGT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'COLON' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'COLON2' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'SEMICOLON' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'DOT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'COMMA' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'ASSIGN' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'STRING' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'UID' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'LID' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'INFIX' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'TICK_ID' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'AT_ID' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'CHAR' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'FLOAT' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'INT32' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'AT_INT32' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action 'error' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action '#' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
    action '$$' (noprec):   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_
  immediate action:   reduce ty_patt_arrow_atom --> ty_patt_arrow_atom_  gotos:state 285:  items:    ty_patt_htuple_atom -> ty_patt_htuple_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'TYPE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'EQ' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'STAR' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'ARROW' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'VAL' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'OVER' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BRAGT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'LTKET' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BRALT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'GTKET' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'HASH' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'DO' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'INJECT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'EJECT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'IMPLIES' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'DATATYPE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'DATA' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'FORALL' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BOTTOM' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'LET' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'REC' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'IN' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'IF' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'THEN' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'ELSE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'FUN' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'MATCH' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'WHEN' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'WITH' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'FUNCTION' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'TRUE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'FALSE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'AS' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'OF' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'NAMESPACE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'OPEN' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'WHERE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'OVERLOAD' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BACKSLASH' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'KIND' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'QUESTION' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BRA' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'KET' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'CURBRA' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'CURKET' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'SQBRA' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'SQKET' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'PLUS' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'MINUS' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'SLASH' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'PLUSDOT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'MINUSDOT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'MOD' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'NEQ' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'LT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'GT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'LEQ' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'GEQ' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'AND' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'NOT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'PIPE' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'AMP' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BANG' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'COLONGT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'COLON' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'COLON2' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'SEMICOLON' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'DOT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'COMMA' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'ASSIGN' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'STRING' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'UID' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'LID' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'INFIX' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'TICK_ID' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'AT_ID' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'CHAR' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'FLOAT' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'INT32' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'AT_INT32' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action 'error' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action '#' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
    action '$$' (noprec):   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_
  immediate action:   reduce ty_patt_htuple_atom --> ty_patt_htuple_atom_  gotos:state 286:  items:    ty_patt_tuple_atom -> ty_patt_tuple_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'TYPE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'EQ' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'STAR' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'ARROW' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'VAL' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'OVER' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BRAGT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'LTKET' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BRALT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'GTKET' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'HASH' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'DO' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'INJECT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'EJECT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'IMPLIES' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'DATATYPE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'DATA' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'FORALL' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BOTTOM' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'LET' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'REC' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'IN' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'IF' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'THEN' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'ELSE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'FUN' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'MATCH' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'WHEN' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'WITH' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'FUNCTION' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'TRUE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'FALSE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'AS' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'OF' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'NAMESPACE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'OPEN' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'WHERE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'OVERLOAD' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BACKSLASH' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'KIND' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'QUESTION' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BRA' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'KET' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'CURBRA' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'CURKET' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'SQBRA' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'SQKET' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'PLUS' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'MINUS' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'SLASH' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'PLUSDOT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'MINUSDOT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'MOD' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'NEQ' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'LT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'GT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'LEQ' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'GEQ' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'AND' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'NOT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'PIPE' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'AMP' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BANG' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'COLONGT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'COLON' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'COLON2' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'SEMICOLON' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'DOT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'COMMA' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'ASSIGN' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'STRING' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'UID' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'LID' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'INFIX' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'TICK_ID' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'AT_ID' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'CHAR' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'FLOAT' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'INT32' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'AT_INT32' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action 'error' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action '#' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
    action '$$' (noprec):   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_
  immediate action:   reduce ty_patt_tuple_atom --> ty_patt_tuple_atom_  gotos:state 287:  items:    ty_patt_app_atom -> ty_patt_app_atom_ . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'TYPE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'EQ' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'STAR' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'ARROW' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'VAL' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'OVER' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BRAGT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'LTKET' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BRALT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'GTKET' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'HASH' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'DO' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'INJECT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'EJECT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'IMPLIES' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'DATATYPE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'DATA' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'FORALL' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BOTTOM' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'LET' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'REC' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'IN' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'IF' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'THEN' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'ELSE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'FUN' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'MATCH' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'WHEN' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'WITH' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'FUNCTION' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'TRUE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'FALSE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'AS' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'OF' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'NAMESPACE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'OPEN' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'WHERE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'OVERLOAD' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'UNDERSCORE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BACKSLASH' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'KIND' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'QUESTION' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BRA' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'KET' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'CURBRA' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'CURKET' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'SQBRA' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'SQKET' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'PLUS' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'MINUS' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'SLASH' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'PLUSDOT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'MINUSDOT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'MOD' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'NEQ' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'LT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'GT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'LEQ' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'GEQ' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'AND' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'NOT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'PIPE' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'AMP' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BANG' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'COLONGT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'COLON' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'COLON2' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'SEMICOLON' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'SEMICOLON2' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'DOT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'COMMA' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'ASSIGN' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'STRING' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'UID' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'LID' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'INFIX' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'TICK_ID' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'AT_ID' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'CHAR' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'FLOAT' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'INT32' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'AT_INT32' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action 'error' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action '#' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
    action '$$' (noprec):   reduce ty_patt_app_atom --> ty_patt_app_atom_
  immediate action:   reduce ty_patt_app_atom --> ty_patt_app_atom_  gotos:state 288:  items:    ty_patt_ -> ty_patt_arrow_atom . 
    ty_patt_ -> ty_patt_arrow_atom . 'ARROW' ty_patt_arrow_atom
  actions:    action 'EOF' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'TYPE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'EQ' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'STAR' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'ARROW' (explicit right 9985):   shift 289
    action 'VAL' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'OVER' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BRAGT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'LTKET' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BRALT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'GTKET' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'HASH' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'DO' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'INJECT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'EJECT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'DATA' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'FORALL' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'LET' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'REC' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'IN' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'IF' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'THEN' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'ELSE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'FUN' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'MATCH' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'WHEN' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'WITH' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'TRUE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'FALSE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'AS' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'OF' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'OPEN' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'WHERE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'UNDERSCORE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BACKSLASH' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'KIND' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'QUESTION' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BRA' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'KET' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'CURBRA' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'CURKET' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'SQBRA' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'SQKET' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'PLUS' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'MINUS' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'SLASH' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'MOD' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'NEQ' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'LT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'GT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'LEQ' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'GEQ' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'AND' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'NOT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'PIPE' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'AMP' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BANG' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'COLONGT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'COLON' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'COLON2' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'SEMICOLON' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'DOT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'COMMA' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'ASSIGN' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'STRING' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'UID' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'LID' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'INFIX' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'AT_ID' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'CHAR' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'FLOAT' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'INT32' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action 'error' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action '#' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
    action '$$' (noprec):   reduce ty_patt_ --> ty_patt_arrow_atom
  immediate action: <none>  gotos:state 289:  items:    ty_patt_ -> ty_patt_arrow_atom 'ARROW' . ty_patt_arrow_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_arrow_atom: 290
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 290:  items:    ty_patt_ -> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom . 
  actions:    action 'EOF' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'TYPE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'EQ' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'STAR' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'ARROW' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'VAL' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'OVER' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BRAGT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'LTKET' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BRALT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'GTKET' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'HASH' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'DO' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'INJECT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'EJECT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'IMPLIES' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'DATATYPE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'DATA' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'FORALL' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BOTTOM' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'LET' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'REC' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'IN' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'IF' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'THEN' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'ELSE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'FUN' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'MATCH' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'WHEN' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'WITH' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'FUNCTION' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'TRUE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'FALSE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'AS' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'OF' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'NAMESPACE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'OPEN' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'WHERE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'OVERLOAD' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'DOUBLEAMP' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'DOUBLEPIPE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'UNDERSCORE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BACKSLASH' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'KIND' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'QUESTION' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BRA' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'KET' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'CURBRA' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'CURKET' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'SQBRA' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'SQKET' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'PLUS' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'MINUS' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'SLASH' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'PLUSDOT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'MINUSDOT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'MOD' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'NEQ' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'LT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'GT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'LEQ' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'GEQ' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'AND' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'NOT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'PIPE' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'AMP' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BANG' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'COLONGT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'COLON' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'COLON2' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'SEMICOLON' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'SEMICOLON2' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'DOT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'COMMA' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'ASSIGN' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'STRING' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'UID' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'LID' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'INFIX' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'TICK_ID' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'BACKTICK_ID' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'AT_ID' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'CHAR' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'FLOAT' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'INT32' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'AT_INT32' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action 'error' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action '#' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
    action '$$' (explicit right 9985):   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom
  immediate action:   reduce ty_patt_ --> ty_patt_arrow_atom 'ARROW' ty_patt_arrow_atom  gotos:state 291:  items:    ty_patt_arrow_atom_ -> ty_patt_htuple_atom . 
    ty_patt_arrow_atom_ -> ty_patt_htuple_atom . 'COMMA' ty_patt_htuple
  actions:    action 'EOF' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'TYPE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'EQ' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'STAR' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'ARROW' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'VAL' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'OVER' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BRAGT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'LTKET' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BRALT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'GTKET' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'HASH' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'DO' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'INJECT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'EJECT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'DATA' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'FORALL' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'LET' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'REC' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'IN' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'IF' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'THEN' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'ELSE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'FUN' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'MATCH' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'WHEN' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'WITH' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'TRUE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'FALSE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'AS' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'OF' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'OPEN' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'WHERE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'UNDERSCORE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BACKSLASH' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'KIND' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'QUESTION' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BRA' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'KET' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'CURBRA' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'CURKET' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'SQBRA' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'SQKET' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'PLUS' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'MINUS' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'SLASH' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'MOD' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'NEQ' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'LT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'GT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'LEQ' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'GEQ' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'AND' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'NOT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'PIPE' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'AMP' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BANG' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'COLONGT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'COLON' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'COLON2' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'SEMICOLON' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'DOT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'COMMA' (explicit left 9984):   shift 292
    action 'ASSIGN' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'STRING' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'UID' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'LID' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'INFIX' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'AT_ID' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'CHAR' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'FLOAT' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'INT32' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action 'error' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action '#' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
    action '$$' (noprec):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom
  immediate action: <none>  gotos:state 292:  items:    ty_patt_arrow_atom_ -> ty_patt_htuple_atom 'COMMA' . ty_patt_htuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_htuple_atom: 294
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_htuple: 293
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 293:  items:    ty_patt_arrow_atom_ -> ty_patt_htuple_atom 'COMMA' ty_patt_htuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'TYPE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'EQ' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'STAR' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'ARROW' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'VAL' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OVER' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BRAGT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LTKET' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BRALT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'GTKET' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'HASH' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DO' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'INJECT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'EJECT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'IMPLIES' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DATATYPE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DATA' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FORALL' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BOTTOM' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LET' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'REC' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'IN' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'IF' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'THEN' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'ELSE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FUN' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MATCH' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'WHEN' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'WITH' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FUNCTION' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'TRUE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FALSE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AS' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OF' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'NAMESPACE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OPEN' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'WHERE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OVERLOAD' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'UNDERSCORE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BACKSLASH' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'KIND' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'QUESTION' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BRA' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'KET' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'CURBRA' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'CURKET' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SQBRA' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SQKET' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'PLUS' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MINUS' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SLASH' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'PLUSDOT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MINUSDOT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MOD' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'NEQ' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'GT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LEQ' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'GEQ' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AND' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'NOT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'PIPE' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AMP' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BANG' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COLONGT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COLON' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COLON2' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SEMICOLON' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SEMICOLON2' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DOT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COMMA' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'ASSIGN' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'STRING' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'UID' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LID' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'INFIX' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'TICK_ID' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AT_ID' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'CHAR' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FLOAT' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'INT32' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AT_INT32' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'error' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action '#' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action '$$' (explicit left 9984):   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
  immediate action:   reduce ty_patt_arrow_atom_ --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple  gotos:state 294:  items:    ty_patt_htuple -> ty_patt_htuple_atom . 
    ty_patt_htuple -> ty_patt_htuple_atom . 'COMMA' ty_patt_htuple
  actions:    action 'EOF' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'TYPE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'EQ' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'STAR' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'ARROW' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'VAL' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'OVER' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BRAGT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'LTKET' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BRALT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'GTKET' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'HASH' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'DO' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'INJECT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'EJECT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'DATA' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'FORALL' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'LET' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'REC' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'IN' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'IF' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'THEN' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'ELSE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'FUN' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'MATCH' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'WHEN' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'WITH' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'TRUE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'FALSE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'AS' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'OF' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'OPEN' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'WHERE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'UNDERSCORE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BACKSLASH' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'KIND' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'QUESTION' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BRA' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'KET' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'CURBRA' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'CURKET' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'SQBRA' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'SQKET' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'PLUS' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'MINUS' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'SLASH' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'MOD' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'NEQ' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'LT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'GT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'LEQ' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'GEQ' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'AND' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'NOT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'PIPE' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'AMP' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BANG' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'COLONGT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'COLON' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'COLON2' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'SEMICOLON' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'DOT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'COMMA' (explicit left 9984):   shift 295
    action 'ASSIGN' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'STRING' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'UID' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'LID' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'INFIX' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'AT_ID' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'CHAR' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'FLOAT' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'INT32' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action 'error' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action '#' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
    action '$$' (noprec):   reduce ty_patt_htuple --> ty_patt_htuple_atom
  immediate action: <none>  gotos:state 295:  items:    ty_patt_htuple -> ty_patt_htuple_atom 'COMMA' . ty_patt_htuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_htuple_atom: 294
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_htuple: 296
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
state 296:  items:    ty_patt_htuple -> ty_patt_htuple_atom 'COMMA' ty_patt_htuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'TYPE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'EQ' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'STAR' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'ARROW' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'VAL' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OVER' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BRAGT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LTKET' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BRALT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'GTKET' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'HASH' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DO' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'INJECT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'EJECT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'IMPLIES' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DATATYPE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DATA' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FORALL' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BOTTOM' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LET' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'REC' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'IN' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'IF' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'THEN' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'ELSE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FUN' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MATCH' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'WHEN' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'WITH' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FUNCTION' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'TRUE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FALSE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AS' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OF' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'NAMESPACE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OPEN' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'WHERE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'OVERLOAD' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'UNDERSCORE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BACKSLASH' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'KIND' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'QUESTION' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BRA' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'KET' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'CURBRA' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'CURKET' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SQBRA' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SQKET' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'PLUS' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MINUS' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SLASH' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'PLUSDOT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MINUSDOT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'MOD' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'NEQ' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'GT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LEQ' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'GEQ' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AND' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'NOT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'PIPE' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AMP' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BANG' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COLONGT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COLON' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COLON2' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SEMICOLON' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'SEMICOLON2' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'DOT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'COMMA' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'ASSIGN' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'STRING' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'UID' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'LID' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'INFIX' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'TICK_ID' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AT_ID' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'CHAR' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'FLOAT' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'INT32' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'AT_INT32' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action 'error' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action '#' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
    action '$$' (explicit left 9984):   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple
  immediate action:   reduce ty_patt_htuple --> ty_patt_htuple_atom 'COMMA' ty_patt_htuple  gotos:state 297:  items:    ty_patt_htuple_atom_ -> ty_patt_tuple_atom . 
    ty_patt_htuple_atom_ -> ty_patt_tuple_atom . 'STAR' ty_patt_tuple
    ty_patt_tuple_atom_ -> ty_patt_tuple_atom . ty_patt_app_atom
    ty_patt_tuple_atom_ -> ty_patt_tuple_atom . 'COLON2' kind
  actions:    action 'EOF' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'TYPE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'EQ' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'STAR' (explicit left 9992):   shift 298
    action 'ARROW' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'VAL' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'OVER' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'BRAGT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'LTKET' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'BRALT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'GTKET' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'HASH' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'DO' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'INJECT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'EJECT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'DATA' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'FORALL' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'LET' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'REC' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'IN' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'IF' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'THEN' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'ELSE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'FUN' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'MATCH' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'WHEN' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'WITH' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'TRUE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'FALSE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'AS' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'OF' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'OPEN' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'WHERE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'KIND' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'QUESTION' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'CURBRA' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'CURKET' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'SQBRA' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'SQKET' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'PLUS' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'MINUS' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'SLASH' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'MOD' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'NEQ' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'LT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'GT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'LEQ' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'GEQ' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'AND' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'NOT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'PIPE' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'AMP' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'BANG' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'COLONGT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'COLON' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'COLON2' (explicit right 9988):   shift 305
    action 'SEMICOLON' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'DOT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'COMMA' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'ASSIGN' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'STRING' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'AT_ID' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'CHAR' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'FLOAT' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'INT32' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action 'error' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action '#' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
    action '$$' (noprec):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom
  immediate action: <none>  gotos:    goto ty_patt_app_atom: 304
    goto ty_patt_app_atom_: 287
state 298:  items:    ty_patt_htuple_atom_ -> ty_patt_tuple_atom 'STAR' . ty_patt_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_tuple_atom: 303
    goto ty_patt_app_atom: 300
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_tuple: 299
    goto ty_patt_app_atom_: 287
state 299:  items:    ty_patt_htuple_atom_ -> ty_patt_tuple_atom 'STAR' ty_patt_tuple . 
  actions:    action 'EOF' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'TYPE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'EQ' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'STAR' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'ARROW' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'VAL' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OVER' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BRAGT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LTKET' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BRALT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'GTKET' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'HASH' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DO' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'INJECT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'EJECT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'IMPLIES' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DATATYPE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DATA' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FORALL' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BOTTOM' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LET' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'REC' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'IN' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'IF' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'THEN' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'ELSE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FUN' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MATCH' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'WHEN' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'WITH' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FUNCTION' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'TRUE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FALSE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AS' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OF' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'NAMESPACE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OPEN' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'WHERE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OVERLOAD' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DOUBLEAMP' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DOUBLEPIPE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'UNDERSCORE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BACKSLASH' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'KIND' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'QUESTION' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BRA' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'KET' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'CURBRA' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'CURKET' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SQBRA' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SQKET' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'PLUS' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MINUS' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SLASH' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'PLUSDOT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MINUSDOT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MOD' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'NEQ' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'GT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LEQ' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'GEQ' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AND' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'NOT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'PIPE' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AMP' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BANG' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COLONGT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COLON' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COLON2' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SEMICOLON' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SEMICOLON2' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DOT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COMMA' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'ASSIGN' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'STRING' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'UID' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LID' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'INFIX' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'TICK_ID' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BACKTICK_ID' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AT_ID' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'CHAR' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FLOAT' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'INT32' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AT_INT32' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'error' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action '#' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action '$$' (explicit left 9992):   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
  immediate action:   reduce ty_patt_htuple_atom_ --> ty_patt_tuple_atom 'STAR' ty_patt_tuple  gotos:state 300:  items:    ty_patt_tuple_atom_ -> ty_patt_app_atom . 
    ty_patt_tuple_atom_ -> ty_patt_app_atom . 'AS' id
  actions:    action 'EOF' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'TYPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'EQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'STAR' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'ARROW' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'VAL' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'OVER' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BRAGT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LTKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BRALT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'GTKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'HASH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DO' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'INJECT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'EJECT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DATA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FORALL' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'REC' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'IN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'IF' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'THEN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'ELSE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FUN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MATCH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'WHEN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'WITH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'TRUE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FALSE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AS' (explicit left 9983):   shift 301
    action 'OF' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'OPEN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'WHERE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'UNDERSCORE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BACKSLASH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'KIND' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'QUESTION' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BRA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'KET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'CURBRA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'CURKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SQBRA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SQKET' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'PLUS' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MINUS' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SLASH' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'MOD' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'NEQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'GT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LEQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'GEQ' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AND' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'NOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'PIPE' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AMP' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BANG' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COLONGT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COLON' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COLON2' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SEMICOLON' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'DOT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'COMMA' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'ASSIGN' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'STRING' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'UID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'LID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'INFIX' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AT_ID' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'CHAR' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'FLOAT' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'INT32' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action 'error' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action '#' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
    action '$$' (noprec):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom
  immediate action: <none>  gotos:state 301:  items:    ty_patt_tuple_atom_ -> ty_patt_app_atom 'AS' . id
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 302
state 302:  items:    ty_patt_tuple_atom_ -> ty_patt_app_atom 'AS' id . 
  actions:    action 'EOF' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'TYPE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'EQ' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'STAR' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'ARROW' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'VAL' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'OVER' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BRAGT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'LTKET' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BRALT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'GTKET' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'HASH' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'DO' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'INJECT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'EJECT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'IMPLIES' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'DATATYPE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'DATA' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'FORALL' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BOTTOM' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'LET' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'REC' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'IN' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'IF' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'THEN' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'ELSE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'FUN' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'MATCH' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'WHEN' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'WITH' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'FUNCTION' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'TRUE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'FALSE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'AS' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'OF' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'NAMESPACE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'OPEN' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'WHERE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'OVERLOAD' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'DOUBLEAMP' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'DOUBLEPIPE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'UNDERSCORE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BACKSLASH' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'KIND' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'QUESTION' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BRA' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'KET' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'CURBRA' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'CURKET' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'SQBRA' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'SQKET' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'PLUS' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'MINUS' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'SLASH' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'PLUSDOT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'MINUSDOT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'MOD' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'NEQ' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'LT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'GT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'LEQ' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'GEQ' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'AND' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'NOT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'PIPE' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'AMP' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BANG' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'COLONGT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'COLON' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'COLON2' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'SEMICOLON' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'SEMICOLON2' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'DOT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'COMMA' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'ASSIGN' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'STRING' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'UID' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'LID' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'INFIX' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'TICK_ID' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'BACKTICK_ID' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'AT_ID' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'CHAR' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'FLOAT' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'INT32' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'AT_INT32' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action 'error' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action '#' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
    action '$$' (explicit left 9983):   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id
  immediate action:   reduce ty_patt_tuple_atom_ --> ty_patt_app_atom 'AS' id  gotos:state 303:  items:    ty_patt_tuple_atom_ -> ty_patt_tuple_atom . ty_patt_app_atom
    ty_patt_tuple_atom_ -> ty_patt_tuple_atom . 'COLON2' kind
    ty_patt_tuple -> ty_patt_tuple_atom . 
    ty_patt_tuple -> ty_patt_tuple_atom . 'STAR' ty_patt_tuple
  actions:    action 'EOF' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'TYPE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'EQ' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'STAR' (explicit left 9992):   shift 307
    action 'ARROW' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'VAL' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'OVER' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'BRAGT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'LTKET' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'BRALT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'GTKET' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'HASH' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'DO' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'INJECT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'EJECT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'IMPLIES' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'DATATYPE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'DATA' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'FORALL' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'BOTTOM' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'LET' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'REC' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'IN' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'IF' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'THEN' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'ELSE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'FUN' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'MATCH' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'WHEN' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'WITH' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'FUNCTION' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'TRUE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'FALSE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'AS' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'OF' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'NAMESPACE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'OPEN' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'WHERE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'OVERLOAD' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'KIND' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'QUESTION' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'CURBRA' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'CURKET' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'SQBRA' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'SQKET' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'PLUS' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'MINUS' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'SLASH' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'PLUSDOT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'MINUSDOT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'MOD' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'NEQ' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'LT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'GT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'LEQ' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'GEQ' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'AND' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'NOT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'PIPE' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'AMP' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'BANG' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'COLONGT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'COLON' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'COLON2' (explicit right 9988):   shift 305
    action 'SEMICOLON' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'DOT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'COMMA' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'ASSIGN' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'STRING' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'TICK_ID' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'AT_ID' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'CHAR' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'FLOAT' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'INT32' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'AT_INT32' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action 'error' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action '#' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
    action '$$' (noprec):   reduce ty_patt_tuple --> ty_patt_tuple_atom
  immediate action: <none>  gotos:    goto ty_patt_app_atom: 304
    goto ty_patt_app_atom_: 287
state 304:  items:    ty_patt_tuple_atom_ -> ty_patt_tuple_atom ty_patt_app_atom . 
  actions:    action 'EOF' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'TYPE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'EQ' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'STAR' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'ARROW' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'VAL' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'OVER' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BRAGT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'LTKET' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BRALT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'GTKET' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'HASH' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'DO' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'INJECT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'EJECT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'IMPLIES' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'DATATYPE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'DATA' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'FORALL' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BOTTOM' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'LET' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'REC' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'IN' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'IF' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'THEN' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'ELSE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'FUN' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'MATCH' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'WHEN' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'WITH' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'FUNCTION' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'TRUE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'FALSE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'AS' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'OF' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'NAMESPACE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'OPEN' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'WHERE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'OVERLOAD' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'DOUBLEAMP' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'DOUBLEPIPE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'UNDERSCORE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BACKSLASH' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'KIND' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'QUESTION' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BRA' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'KET' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'CURBRA' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'CURKET' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'SQBRA' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'SQKET' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'PLUS' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'MINUS' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'SLASH' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'PLUSDOT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'MINUSDOT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'MOD' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'NEQ' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'LT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'GT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'LEQ' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'GEQ' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'AND' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'NOT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'PIPE' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'AMP' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BANG' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'COLONGT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'COLON' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'COLON2' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'SEMICOLON' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'DOT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'COMMA' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'ASSIGN' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'STRING' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'UID' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'LID' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'INFIX' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'TICK_ID' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'BACKTICK_ID' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'AT_ID' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'CHAR' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'FLOAT' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'INT32' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'AT_INT32' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action 'error' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action '#' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
    action '$$' (explicit left 9996):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom
  immediate action:   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom ty_patt_app_atom  gotos:state 305:  items:    ty_patt_tuple_atom_ -> ty_patt_tuple_atom 'COLON2' . kind
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (explicit left 9992):   shift 172
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 173
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 171
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 166
    goto kind: 306
    goto kind_arrow_atom: 157
    goto kind_tuple_atom: 160
state 306:  items:    ty_patt_tuple_atom_ -> ty_patt_tuple_atom 'COLON2' kind . 
  actions:    action 'EOF' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'TYPE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'EQ' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'STAR' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'ARROW' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'VAL' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'OVER' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BRAGT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'LTKET' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BRALT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'GTKET' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'HASH' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'DO' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'INJECT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'EJECT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'IMPLIES' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'DATATYPE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'DATA' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'FORALL' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BOTTOM' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'LET' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'REC' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'IN' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'IF' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'THEN' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'ELSE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'FUN' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'MATCH' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'WHEN' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'WITH' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'FUNCTION' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'TRUE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'FALSE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'AS' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'OF' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'NAMESPACE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'OPEN' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'WHERE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'OVERLOAD' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'DOUBLEAMP' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'DOUBLEPIPE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'UNDERSCORE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BACKSLASH' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'KIND' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'QUESTION' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BRA' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'KET' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'CURBRA' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'CURKET' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'SQBRA' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'SQKET' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'PLUS' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'MINUS' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'SLASH' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'PLUSDOT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'MINUSDOT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'MOD' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'NEQ' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'LT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'GT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'LEQ' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'GEQ' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'AND' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'NOT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'PIPE' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'AMP' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BANG' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'COLONGT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'COLON' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'COLON2' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'SEMICOLON' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'SEMICOLON2' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'DOT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'COMMA' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'ASSIGN' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'STRING' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'UID' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'LID' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'INFIX' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'TICK_ID' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'BACKTICK_ID' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'AT_ID' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'CHAR' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'FLOAT' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'INT32' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'AT_INT32' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action 'error' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action '#' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
    action '$$' (explicit right 9988):   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind
  immediate action:   reduce ty_patt_tuple_atom_ --> ty_patt_tuple_atom 'COLON2' kind  gotos:state 307:  items:    ty_patt_tuple -> ty_patt_tuple_atom 'STAR' . ty_patt_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_tuple_atom: 303
    goto ty_patt_app_atom: 300
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_tuple: 308
    goto ty_patt_app_atom_: 287
state 308:  items:    ty_patt_tuple -> ty_patt_tuple_atom 'STAR' ty_patt_tuple . 
  actions:    action 'EOF' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'TYPE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'EQ' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'STAR' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'ARROW' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'VAL' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OVER' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BRAGT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LTKET' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BRALT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'GTKET' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'HASH' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DO' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'INJECT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'EJECT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'IMPLIES' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DATATYPE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DATA' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FORALL' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BOTTOM' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LET' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'REC' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'IN' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'IF' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'THEN' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'ELSE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FUN' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MATCH' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'WHEN' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'WITH' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FUNCTION' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'TRUE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FALSE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AS' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OF' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'NAMESPACE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OPEN' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'WHERE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'OVERLOAD' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DOUBLEAMP' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DOUBLEPIPE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'UNDERSCORE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BACKSLASH' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'KIND' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'QUESTION' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BRA' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'KET' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'CURBRA' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'CURKET' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SQBRA' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SQKET' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'PLUS' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MINUS' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SLASH' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'PLUSDOT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MINUSDOT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'MOD' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'NEQ' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'GT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LEQ' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'GEQ' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AND' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'NOT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'PIPE' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AMP' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BANG' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COLONGT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COLON' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COLON2' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SEMICOLON' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'SEMICOLON2' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'DOT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'COMMA' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'ASSIGN' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'STRING' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'UID' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'LID' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'INFIX' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'TICK_ID' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'BACKTICK_ID' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AT_ID' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'CHAR' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'FLOAT' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'INT32' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'AT_INT32' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action 'error' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action '#' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
    action '$$' (explicit left 9992):   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple
  immediate action:   reduce ty_patt_tuple --> ty_patt_tuple_atom 'STAR' ty_patt_tuple  gotos:state 309:  items:    ty_patt_app_atom_ -> 'UID' . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'TYPE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'EQ' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'STAR' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'ARROW' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'VAL' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'OVER' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BRAGT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'LTKET' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BRALT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'GTKET' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'HASH' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'DO' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'INJECT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'EJECT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'IMPLIES' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'DATATYPE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'DATA' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'FORALL' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BOTTOM' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'LET' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'REC' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'IN' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'IF' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'THEN' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'ELSE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'FUN' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'MATCH' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'WHEN' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'WITH' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'FUNCTION' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'TRUE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'FALSE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'AS' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'OF' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'NAMESPACE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'OPEN' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'WHERE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'OVERLOAD' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'UNDERSCORE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BACKSLASH' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'KIND' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'QUESTION' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BRA' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'KET' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'CURBRA' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'CURKET' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'SQBRA' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'SQKET' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'PLUS' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'MINUS' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'SLASH' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'PLUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'MINUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'MOD' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'NEQ' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'LT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'GT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'LEQ' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'GEQ' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'AND' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'NOT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'PIPE' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'AMP' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BANG' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'COLONGT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'COLON' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'COLON2' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'SEMICOLON' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'SEMICOLON2' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'DOT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'COMMA' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'ASSIGN' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'STRING' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'UID' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'LID' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'INFIX' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'TICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'AT_ID' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'CHAR' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'FLOAT' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'INT32' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'AT_INT32' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action 'error' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action '#' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
    action '$$' (noprec):   reduce ty_patt_app_atom_ --> 'UID'
  immediate action:   reduce ty_patt_app_atom_ --> 'UID'  gotos:state 310:  items:    ty_patt_app_atom_ -> 'LID' . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'TYPE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'EQ' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'STAR' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'ARROW' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'VAL' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'OVER' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BRAGT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'LTKET' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BRALT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'GTKET' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'HASH' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'DO' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'INJECT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'EJECT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'IMPLIES' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'DATATYPE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'DATA' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'FORALL' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BOTTOM' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'LET' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'REC' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'IN' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'IF' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'THEN' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'ELSE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'FUN' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'MATCH' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'WHEN' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'WITH' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'FUNCTION' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'TRUE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'FALSE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'AS' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'OF' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'NAMESPACE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'OPEN' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'WHERE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'OVERLOAD' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'UNDERSCORE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BACKSLASH' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'KIND' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'QUESTION' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BRA' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'KET' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'CURBRA' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'CURKET' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'SQBRA' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'SQKET' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'PLUS' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'MINUS' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'SLASH' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'PLUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'MINUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'MOD' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'NEQ' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'LT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'GT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'LEQ' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'GEQ' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'AND' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'NOT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'PIPE' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'AMP' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BANG' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'COLONGT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'COLON' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'COLON2' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'SEMICOLON' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'SEMICOLON2' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'DOT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'COMMA' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'ASSIGN' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'STRING' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'UID' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'LID' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'INFIX' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'TICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'AT_ID' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'CHAR' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'FLOAT' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'INT32' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'AT_INT32' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action 'error' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action '#' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
    action '$$' (noprec):   reduce ty_patt_app_atom_ --> 'LID'
  immediate action:   reduce ty_patt_app_atom_ --> 'LID'  gotos:state 311:  items:    ty_patt_app_atom_ -> 'UNDERSCORE' . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'TYPE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'EQ' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'STAR' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'ARROW' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'VAL' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'OVER' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BRAGT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'LTKET' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BRALT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'GTKET' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'HASH' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'DO' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'INJECT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'EJECT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'IMPLIES' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'DATATYPE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'DATA' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'FORALL' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BOTTOM' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'LET' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'REC' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'IN' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'IF' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'THEN' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'ELSE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'FUN' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'MATCH' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'WHEN' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'WITH' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'FUNCTION' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'TRUE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'FALSE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'AS' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'OF' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'NAMESPACE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'OPEN' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'WHERE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'OVERLOAD' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'UNDERSCORE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BACKSLASH' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'KIND' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'QUESTION' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BRA' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'KET' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'CURBRA' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'CURKET' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'SQBRA' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'SQKET' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'PLUS' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'MINUS' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'SLASH' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'PLUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'MINUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'MOD' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'NEQ' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'LT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'GT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'LEQ' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'GEQ' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'AND' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'NOT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'PIPE' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'AMP' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BANG' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'COLONGT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'COLON' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'COLON2' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'SEMICOLON' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'SEMICOLON2' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'DOT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'COMMA' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'ASSIGN' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'STRING' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'UID' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'LID' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'INFIX' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'TICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'AT_ID' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'CHAR' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'FLOAT' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'INT32' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'AT_INT32' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action 'error' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action '#' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
    action '$$' (noprec):   reduce ty_patt_app_atom_ --> 'UNDERSCORE'
  immediate action:   reduce ty_patt_app_atom_ --> 'UNDERSCORE'  gotos:state 312:  items:    ty_patt_app_atom_ -> 'BRA' . ty_patt 'KET'
    ty_patt_app_atom_ -> 'BRA' . symbol 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 508
    action 'STAR' (explicit left 9992):   shift 505
    action 'ARROW' (explicit right 9985):   shift 516
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (explicit left 9987):   shift 515
    action 'DOUBLEPIPE' (explicit left 9986):   shift 514
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (explicit left 9990):   shift 503
    action 'MINUS' (explicit left 9990):   shift 504
    action 'SLASH' (explicit left 9992):   shift 506
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (explicit left 9992):   shift 507
    action 'NEQ' (explicit left 9989):   shift 509
    action 'LT' (explicit left 9989):   shift 510
    action 'GT' (explicit left 9989):   shift 511
    action 'LEQ' (explicit left 9989):   shift 512
    action 'GEQ' (explicit left 9989):   shift 513
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (explicit left 9991):   shift 517
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt: 313
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto symbol: 315
state 313:  items:    ty_patt_app_atom_ -> 'BRA' ty_patt . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 314
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 314:  items:    ty_patt_app_atom_ -> 'BRA' ty_patt 'KET' . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'TYPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'EQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'STAR' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'ARROW' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'VAL' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'OVER' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BRAGT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'LTKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BRALT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'GTKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'HASH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'DO' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'INJECT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'EJECT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'IMPLIES' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'DATATYPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'DATA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'FORALL' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BOTTOM' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'LET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'REC' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'IN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'IF' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'THEN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'ELSE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'FUN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'MATCH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'WHEN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'WITH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'FUNCTION' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'TRUE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'FALSE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'AS' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'OF' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'NAMESPACE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'OPEN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'WHERE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'OVERLOAD' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'UNDERSCORE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BACKSLASH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'KIND' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'QUESTION' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BRA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'KET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'CURBRA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'CURKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'SQBRA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'SQKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'PLUS' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'MINUS' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'SLASH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'PLUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'MINUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'MOD' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'NEQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'LT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'GT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'LEQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'GEQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'AND' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'NOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'PIPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'AMP' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BANG' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'COLONGT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'COLON' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'COLON2' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'SEMICOLON' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'SEMICOLON2' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'DOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'COMMA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'ASSIGN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'STRING' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'UID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'LID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'INFIX' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'TICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'AT_ID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'CHAR' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'FLOAT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'INT32' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'AT_INT32' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action 'error' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action '#' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
    action '$$' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'
  immediate action:   reduce ty_patt_app_atom_ --> 'BRA' ty_patt 'KET'  gotos:state 315:  items:    ty_patt_app_atom_ -> 'BRA' symbol . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 316
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 316:  items:    ty_patt_app_atom_ -> 'BRA' symbol 'KET' . 
  actions:    action 'EOF' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'TYPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'EQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'STAR' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'ARROW' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'VAL' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVER' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRAGT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LTKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRALT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'GTKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'HASH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DO' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'INJECT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'EJECT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'IMPLIES' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATATYPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FORALL' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BOTTOM' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'REC' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'IN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'IF' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'THEN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'ELSE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MATCH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHEN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'WITH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUNCTION' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'TRUE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FALSE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AS' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OF' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'NAMESPACE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OPEN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHERE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVERLOAD' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEAMP' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'UNDERSCORE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKSLASH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'KIND' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'QUESTION' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'KET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURBRA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQBRA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQKET' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUS' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUS' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SLASH' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUSDOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MOD' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'NEQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'GT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LEQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'GEQ' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AND' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'NOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'PIPE' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AMP' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BANG' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLONGT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON2' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON2' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COMMA' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'ASSIGN' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'STRING' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'UID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'INFIX' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'TICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKTICK_ID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_ID' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'CHAR' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FLOAT' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'INT32' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_INT32' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'error' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action '#' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
    action '$$' (noprec):   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'
  immediate action:   reduce ty_patt_app_atom_ --> 'BRA' symbol 'KET'  gotos:state 317:  items:    ty_cases -> ty_cases_ . 
  actions:    action 'EOF' (noprec):   reduce ty_cases --> ty_cases_
    action 'TYPE' (noprec):   reduce ty_cases --> ty_cases_
    action 'EQ' (noprec):   reduce ty_cases --> ty_cases_
    action 'STAR' (noprec):   reduce ty_cases --> ty_cases_
    action 'ARROW' (noprec):   reduce ty_cases --> ty_cases_
    action 'VAL' (noprec):   reduce ty_cases --> ty_cases_
    action 'OVER' (noprec):   reduce ty_cases --> ty_cases_
    action 'BRAGT' (noprec):   reduce ty_cases --> ty_cases_
    action 'LTKET' (noprec):   reduce ty_cases --> ty_cases_
    action 'BRALT' (noprec):   reduce ty_cases --> ty_cases_
    action 'GTKET' (noprec):   reduce ty_cases --> ty_cases_
    action 'HASH' (noprec):   reduce ty_cases --> ty_cases_
    action 'DO' (noprec):   reduce ty_cases --> ty_cases_
    action 'INJECT' (noprec):   reduce ty_cases --> ty_cases_
    action 'EJECT' (noprec):   reduce ty_cases --> ty_cases_
    action 'IMPLIES' (noprec):   reduce ty_cases --> ty_cases_
    action 'DATATYPE' (noprec):   reduce ty_cases --> ty_cases_
    action 'DATA' (noprec):   reduce ty_cases --> ty_cases_
    action 'FORALL' (noprec):   reduce ty_cases --> ty_cases_
    action 'BOTTOM' (noprec):   reduce ty_cases --> ty_cases_
    action 'LET' (noprec):   reduce ty_cases --> ty_cases_
    action 'REC' (noprec):   reduce ty_cases --> ty_cases_
    action 'IN' (noprec):   reduce ty_cases --> ty_cases_
    action 'IF' (noprec):   reduce ty_cases --> ty_cases_
    action 'THEN' (noprec):   reduce ty_cases --> ty_cases_
    action 'ELSE' (noprec):   reduce ty_cases --> ty_cases_
    action 'FUN' (noprec):   reduce ty_cases --> ty_cases_
    action 'MATCH' (noprec):   reduce ty_cases --> ty_cases_
    action 'WHEN' (noprec):   reduce ty_cases --> ty_cases_
    action 'WITH' (noprec):   reduce ty_cases --> ty_cases_
    action 'FUNCTION' (noprec):   reduce ty_cases --> ty_cases_
    action 'TRUE' (noprec):   reduce ty_cases --> ty_cases_
    action 'FALSE' (noprec):   reduce ty_cases --> ty_cases_
    action 'AS' (noprec):   reduce ty_cases --> ty_cases_
    action 'OF' (noprec):   reduce ty_cases --> ty_cases_
    action 'NAMESPACE' (noprec):   reduce ty_cases --> ty_cases_
    action 'OPEN' (noprec):   reduce ty_cases --> ty_cases_
    action 'WHERE' (noprec):   reduce ty_cases --> ty_cases_
    action 'OVERLOAD' (noprec):   reduce ty_cases --> ty_cases_
    action 'DOUBLEAMP' (noprec):   reduce ty_cases --> ty_cases_
    action 'DOUBLEPIPE' (noprec):   reduce ty_cases --> ty_cases_
    action 'UNDERSCORE' (noprec):   reduce ty_cases --> ty_cases_
    action 'BACKSLASH' (noprec):   reduce ty_cases --> ty_cases_
    action 'KIND' (noprec):   reduce ty_cases --> ty_cases_
    action 'QUESTION' (noprec):   reduce ty_cases --> ty_cases_
    action 'BRA' (noprec):   reduce ty_cases --> ty_cases_
    action 'KET' (noprec):   reduce ty_cases --> ty_cases_
    action 'CURBRA' (noprec):   reduce ty_cases --> ty_cases_
    action 'CURKET' (noprec):   reduce ty_cases --> ty_cases_
    action 'SQBRA' (noprec):   reduce ty_cases --> ty_cases_
    action 'SQKET' (noprec):   reduce ty_cases --> ty_cases_
    action 'PLUS' (noprec):   reduce ty_cases --> ty_cases_
    action 'MINUS' (noprec):   reduce ty_cases --> ty_cases_
    action 'SLASH' (noprec):   reduce ty_cases --> ty_cases_
    action 'PLUSDOT' (noprec):   reduce ty_cases --> ty_cases_
    action 'MINUSDOT' (noprec):   reduce ty_cases --> ty_cases_
    action 'MOD' (noprec):   reduce ty_cases --> ty_cases_
    action 'NEQ' (noprec):   reduce ty_cases --> ty_cases_
    action 'LT' (noprec):   reduce ty_cases --> ty_cases_
    action 'GT' (noprec):   reduce ty_cases --> ty_cases_
    action 'LEQ' (noprec):   reduce ty_cases --> ty_cases_
    action 'GEQ' (noprec):   reduce ty_cases --> ty_cases_
    action 'AND' (noprec):   reduce ty_cases --> ty_cases_
    action 'NOT' (noprec):   reduce ty_cases --> ty_cases_
    action 'PIPE' (noprec):   reduce ty_cases --> ty_cases_
    action 'AMP' (noprec):   reduce ty_cases --> ty_cases_
    action 'BANG' (noprec):   reduce ty_cases --> ty_cases_
    action 'COLONGT' (noprec):   reduce ty_cases --> ty_cases_
    action 'COLON' (noprec):   reduce ty_cases --> ty_cases_
    action 'COLON2' (noprec):   reduce ty_cases --> ty_cases_
    action 'SEMICOLON' (noprec):   reduce ty_cases --> ty_cases_
    action 'SEMICOLON2' (noprec):   reduce ty_cases --> ty_cases_
    action 'DOT' (noprec):   reduce ty_cases --> ty_cases_
    action 'COMMA' (noprec):   reduce ty_cases --> ty_cases_
    action 'ASSIGN' (noprec):   reduce ty_cases --> ty_cases_
    action 'STRING' (noprec):   reduce ty_cases --> ty_cases_
    action 'UID' (noprec):   reduce ty_cases --> ty_cases_
    action 'LID' (noprec):   reduce ty_cases --> ty_cases_
    action 'INFIX' (noprec):   reduce ty_cases --> ty_cases_
    action 'TICK_ID' (noprec):   reduce ty_cases --> ty_cases_
    action 'BACKTICK_ID' (noprec):   reduce ty_cases --> ty_cases_
    action 'AT_ID' (noprec):   reduce ty_cases --> ty_cases_
    action 'CHAR' (noprec):   reduce ty_cases --> ty_cases_
    action 'FLOAT' (noprec):   reduce ty_cases --> ty_cases_
    action 'INT32' (noprec):   reduce ty_cases --> ty_cases_
    action 'AT_INT32' (noprec):   reduce ty_cases --> ty_cases_
    action 'error' (noprec):   reduce ty_cases --> ty_cases_
    action '#' (noprec):   reduce ty_cases --> ty_cases_
    action '$$' (noprec):   reduce ty_cases --> ty_cases_
  immediate action:   reduce ty_cases --> ty_cases_  gotos:state 318:  items:    ty_cases -> 'PIPE' . ty_cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_arrow_atom: 329
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases_: 319
    goto ty_case: 326
state 319:  items:    ty_cases -> 'PIPE' ty_cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'TYPE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'EQ' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'STAR' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'ARROW' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'VAL' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'OVER' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BRAGT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'LTKET' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BRALT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'GTKET' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'HASH' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'DO' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'INJECT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'EJECT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'IMPLIES' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'DATATYPE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'DATA' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'FORALL' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BOTTOM' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'LET' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'REC' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'IN' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'IF' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'THEN' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'ELSE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'FUN' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'MATCH' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'WHEN' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'WITH' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'FUNCTION' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'TRUE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'FALSE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'AS' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'OF' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'NAMESPACE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'OPEN' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'WHERE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'OVERLOAD' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BACKSLASH' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'KIND' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'QUESTION' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BRA' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'KET' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'CURBRA' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'CURKET' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'SQBRA' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'SQKET' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'PLUS' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'MINUS' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'SLASH' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'PLUSDOT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'MINUSDOT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'MOD' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'NEQ' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'LT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'GT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'LEQ' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'GEQ' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'AND' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'NOT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'PIPE' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'AMP' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BANG' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'COLONGT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'COLON' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'COLON2' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'SEMICOLON' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'DOT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'COMMA' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'ASSIGN' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'STRING' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'UID' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'LID' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'INFIX' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'TICK_ID' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'AT_ID' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'CHAR' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'FLOAT' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'INT32' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'AT_INT32' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action 'error' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action '#' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
    action '$$' (explicit left 9986):   reduce ty_cases --> 'PIPE' ty_cases_
  immediate action:   reduce ty_cases --> 'PIPE' ty_cases_  gotos:state 320:  items:    ty_cases -> 'CURBRA' . ty_cases2_ 'CURKET'
    ty_cases -> 'CURBRA' . 'PIPE' ty_cases2_ 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 323
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt: 335
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases2_: 321
    goto ty_case2: 332
state 321:  items:    ty_cases -> 'CURBRA' ty_cases2_ . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 322
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 322:  items:    ty_cases -> 'CURBRA' ty_cases2_ 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'TYPE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'EQ' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'STAR' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'ARROW' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'VAL' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'OVER' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BRAGT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'LTKET' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BRALT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'GTKET' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'HASH' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'DO' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'INJECT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'EJECT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'IMPLIES' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'DATATYPE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'DATA' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'FORALL' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BOTTOM' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'LET' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'REC' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'IN' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'IF' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'THEN' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'ELSE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'FUN' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'MATCH' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'WHEN' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'WITH' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'FUNCTION' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'TRUE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'FALSE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'AS' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'OF' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'NAMESPACE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'OPEN' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'WHERE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'OVERLOAD' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BACKSLASH' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'KIND' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'QUESTION' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BRA' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'KET' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'CURBRA' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'CURKET' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'SQBRA' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'SQKET' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'PLUS' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'MINUS' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'SLASH' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'PLUSDOT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'MINUSDOT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'MOD' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'NEQ' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'LT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'GT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'LEQ' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'GEQ' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'AND' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'NOT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'PIPE' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'AMP' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BANG' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'COLONGT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'COLON' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'COLON2' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'SEMICOLON' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'DOT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'COMMA' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'ASSIGN' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'STRING' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'UID' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'LID' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'INFIX' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'TICK_ID' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'AT_ID' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'CHAR' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'FLOAT' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'INT32' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'AT_INT32' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action 'error' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action '#' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
    action '$$' (noprec):   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'
  immediate action:   reduce ty_cases --> 'CURBRA' ty_cases2_ 'CURKET'  gotos:state 323:  items:    ty_cases -> 'CURBRA' 'PIPE' . ty_cases2_ 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt: 335
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases2_: 324
    goto ty_case2: 332
state 324:  items:    ty_cases -> 'CURBRA' 'PIPE' ty_cases2_ . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 325
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 325:  items:    ty_cases -> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'TYPE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'EQ' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'STAR' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'ARROW' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'VAL' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'OVER' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BRAGT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'LTKET' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BRALT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'GTKET' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'HASH' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'DO' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'INJECT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'EJECT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'IMPLIES' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'DATATYPE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'DATA' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'FORALL' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BOTTOM' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'LET' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'REC' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'IN' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'IF' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'THEN' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'ELSE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'FUN' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'MATCH' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'WHEN' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'WITH' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'FUNCTION' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'TRUE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'FALSE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'AS' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'OF' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'NAMESPACE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'OPEN' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'WHERE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'OVERLOAD' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BACKSLASH' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'KIND' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'QUESTION' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BRA' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'KET' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'CURBRA' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'CURKET' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'SQBRA' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'SQKET' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'PLUS' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'MINUS' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'SLASH' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'PLUSDOT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'MINUSDOT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'MOD' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'NEQ' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'LT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'GT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'LEQ' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'GEQ' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'AND' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'NOT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'PIPE' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'AMP' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BANG' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'COLONGT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'COLON' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'COLON2' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'SEMICOLON' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'DOT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'COMMA' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'ASSIGN' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'STRING' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'UID' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'LID' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'INFIX' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'TICK_ID' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'AT_ID' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'CHAR' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'FLOAT' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'INT32' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'AT_INT32' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action 'error' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action '#' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
    action '$$' (noprec):   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'
  immediate action:   reduce ty_cases --> 'CURBRA' 'PIPE' ty_cases2_ 'CURKET'  gotos:state 326:  items:    ty_cases_ -> ty_case . 
    ty_cases_ -> ty_case . 'PIPE' ty_cases_
  actions:    action 'EOF' (noprec):   reduce ty_cases_ --> ty_case
    action 'TYPE' (noprec):   reduce ty_cases_ --> ty_case
    action 'EQ' (noprec):   reduce ty_cases_ --> ty_case
    action 'STAR' (noprec):   reduce ty_cases_ --> ty_case
    action 'ARROW' (noprec):   reduce ty_cases_ --> ty_case
    action 'VAL' (noprec):   reduce ty_cases_ --> ty_case
    action 'OVER' (noprec):   reduce ty_cases_ --> ty_case
    action 'BRAGT' (noprec):   reduce ty_cases_ --> ty_case
    action 'LTKET' (noprec):   reduce ty_cases_ --> ty_case
    action 'BRALT' (noprec):   reduce ty_cases_ --> ty_case
    action 'GTKET' (noprec):   reduce ty_cases_ --> ty_case
    action 'HASH' (noprec):   reduce ty_cases_ --> ty_case
    action 'DO' (noprec):   reduce ty_cases_ --> ty_case
    action 'INJECT' (noprec):   reduce ty_cases_ --> ty_case
    action 'EJECT' (noprec):   reduce ty_cases_ --> ty_case
    action 'IMPLIES' (noprec):   reduce ty_cases_ --> ty_case
    action 'DATATYPE' (noprec):   reduce ty_cases_ --> ty_case
    action 'DATA' (noprec):   reduce ty_cases_ --> ty_case
    action 'FORALL' (noprec):   reduce ty_cases_ --> ty_case
    action 'BOTTOM' (noprec):   reduce ty_cases_ --> ty_case
    action 'LET' (noprec):   reduce ty_cases_ --> ty_case
    action 'REC' (noprec):   reduce ty_cases_ --> ty_case
    action 'IN' (noprec):   reduce ty_cases_ --> ty_case
    action 'IF' (noprec):   reduce ty_cases_ --> ty_case
    action 'THEN' (noprec):   reduce ty_cases_ --> ty_case
    action 'ELSE' (noprec):   reduce ty_cases_ --> ty_case
    action 'FUN' (noprec):   reduce ty_cases_ --> ty_case
    action 'MATCH' (noprec):   reduce ty_cases_ --> ty_case
    action 'WHEN' (noprec):   reduce ty_cases_ --> ty_case
    action 'WITH' (noprec):   reduce ty_cases_ --> ty_case
    action 'FUNCTION' (noprec):   reduce ty_cases_ --> ty_case
    action 'TRUE' (noprec):   reduce ty_cases_ --> ty_case
    action 'FALSE' (noprec):   reduce ty_cases_ --> ty_case
    action 'AS' (noprec):   reduce ty_cases_ --> ty_case
    action 'OF' (noprec):   reduce ty_cases_ --> ty_case
    action 'NAMESPACE' (noprec):   reduce ty_cases_ --> ty_case
    action 'OPEN' (noprec):   reduce ty_cases_ --> ty_case
    action 'WHERE' (noprec):   reduce ty_cases_ --> ty_case
    action 'OVERLOAD' (noprec):   reduce ty_cases_ --> ty_case
    action 'DOUBLEAMP' (noprec):   reduce ty_cases_ --> ty_case
    action 'DOUBLEPIPE' (noprec):   reduce ty_cases_ --> ty_case
    action 'UNDERSCORE' (noprec):   reduce ty_cases_ --> ty_case
    action 'BACKSLASH' (noprec):   reduce ty_cases_ --> ty_case
    action 'KIND' (noprec):   reduce ty_cases_ --> ty_case
    action 'QUESTION' (noprec):   reduce ty_cases_ --> ty_case
    action 'BRA' (noprec):   reduce ty_cases_ --> ty_case
    action 'KET' (noprec):   reduce ty_cases_ --> ty_case
    action 'CURBRA' (noprec):   reduce ty_cases_ --> ty_case
    action 'CURKET' (noprec):   reduce ty_cases_ --> ty_case
    action 'SQBRA' (noprec):   reduce ty_cases_ --> ty_case
    action 'SQKET' (noprec):   reduce ty_cases_ --> ty_case
    action 'PLUS' (noprec):   reduce ty_cases_ --> ty_case
    action 'MINUS' (noprec):   reduce ty_cases_ --> ty_case
    action 'SLASH' (noprec):   reduce ty_cases_ --> ty_case
    action 'PLUSDOT' (noprec):   reduce ty_cases_ --> ty_case
    action 'MINUSDOT' (noprec):   reduce ty_cases_ --> ty_case
    action 'MOD' (noprec):   reduce ty_cases_ --> ty_case
    action 'NEQ' (noprec):   reduce ty_cases_ --> ty_case
    action 'LT' (noprec):   reduce ty_cases_ --> ty_case
    action 'GT' (noprec):   reduce ty_cases_ --> ty_case
    action 'LEQ' (noprec):   reduce ty_cases_ --> ty_case
    action 'GEQ' (noprec):   reduce ty_cases_ --> ty_case
    action 'AND' (noprec):   reduce ty_cases_ --> ty_case
    action 'NOT' (noprec):   reduce ty_cases_ --> ty_case
    action 'PIPE' (explicit left 9986):   shift 327
    action 'AMP' (noprec):   reduce ty_cases_ --> ty_case
    action 'BANG' (noprec):   reduce ty_cases_ --> ty_case
    action 'COLONGT' (noprec):   reduce ty_cases_ --> ty_case
    action 'COLON' (noprec):   reduce ty_cases_ --> ty_case
    action 'COLON2' (noprec):   reduce ty_cases_ --> ty_case
    action 'SEMICOLON' (noprec):   reduce ty_cases_ --> ty_case
    action 'SEMICOLON2' (noprec):   reduce ty_cases_ --> ty_case
    action 'DOT' (noprec):   reduce ty_cases_ --> ty_case
    action 'COMMA' (noprec):   reduce ty_cases_ --> ty_case
    action 'ASSIGN' (noprec):   reduce ty_cases_ --> ty_case
    action 'STRING' (noprec):   reduce ty_cases_ --> ty_case
    action 'UID' (noprec):   reduce ty_cases_ --> ty_case
    action 'LID' (noprec):   reduce ty_cases_ --> ty_case
    action 'INFIX' (noprec):   reduce ty_cases_ --> ty_case
    action 'TICK_ID' (noprec):   reduce ty_cases_ --> ty_case
    action 'BACKTICK_ID' (noprec):   reduce ty_cases_ --> ty_case
    action 'AT_ID' (noprec):   reduce ty_cases_ --> ty_case
    action 'CHAR' (noprec):   reduce ty_cases_ --> ty_case
    action 'FLOAT' (noprec):   reduce ty_cases_ --> ty_case
    action 'INT32' (noprec):   reduce ty_cases_ --> ty_case
    action 'AT_INT32' (noprec):   reduce ty_cases_ --> ty_case
    action 'error' (noprec):   reduce ty_cases_ --> ty_case
    action '#' (noprec):   reduce ty_cases_ --> ty_case
    action '$$' (noprec):   reduce ty_cases_ --> ty_case
  immediate action: <none>  gotos:state 327:  items:    ty_cases_ -> ty_case 'PIPE' . ty_cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt_arrow_atom: 329
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases_: 328
    goto ty_case: 326
state 328:  items:    ty_cases_ -> ty_case 'PIPE' ty_cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'TYPE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'EQ' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'STAR' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'ARROW' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'VAL' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'OVER' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BRAGT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'LTKET' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BRALT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'GTKET' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'HASH' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'DO' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'INJECT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'EJECT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'IMPLIES' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'DATATYPE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'DATA' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'FORALL' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BOTTOM' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'LET' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'REC' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'IN' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'IF' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'THEN' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'ELSE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'FUN' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'MATCH' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'WHEN' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'WITH' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'FUNCTION' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'TRUE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'FALSE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'AS' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'OF' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'NAMESPACE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'OPEN' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'WHERE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'OVERLOAD' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BACKSLASH' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'KIND' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'QUESTION' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BRA' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'KET' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'CURBRA' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'CURKET' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'SQBRA' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'SQKET' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'PLUS' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'MINUS' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'SLASH' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'PLUSDOT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'MINUSDOT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'MOD' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'NEQ' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'LT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'GT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'LEQ' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'GEQ' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'AND' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'NOT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'PIPE' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'AMP' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BANG' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'COLONGT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'COLON' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'COLON2' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'SEMICOLON' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'DOT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'COMMA' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'ASSIGN' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'STRING' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'UID' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'LID' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'INFIX' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'TICK_ID' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'AT_ID' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'CHAR' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'FLOAT' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'INT32' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'AT_INT32' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action 'error' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action '#' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
    action '$$' (explicit left 9986):   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_
  immediate action:   reduce ty_cases_ --> ty_case 'PIPE' ty_cases_  gotos:state 329:  items:    ty_case -> ty_patt_arrow_atom . 'ARROW' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (explicit right 9985):   shift 330
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 330:  items:    ty_case -> ty_patt_arrow_atom 'ARROW' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 331
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 331:  items:    ty_case -> ty_patt_arrow_atom 'ARROW' ty_expr . 
  actions:    action 'EOF' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'TYPE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'EQ' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'STAR' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'ARROW' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'VAL' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'OVER' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BRAGT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'LTKET' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BRALT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'GTKET' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'HASH' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'DO' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'INJECT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'EJECT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'IMPLIES' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'DATATYPE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'DATA' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'FORALL' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BOTTOM' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'LET' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'REC' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'IN' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'IF' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'THEN' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'ELSE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'FUN' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'MATCH' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'WHEN' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'WITH' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'FUNCTION' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'TRUE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'FALSE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'AS' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'OF' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'NAMESPACE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'OPEN' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'WHERE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'OVERLOAD' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'DOUBLEAMP' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'DOUBLEPIPE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'UNDERSCORE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BACKSLASH' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'KIND' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'QUESTION' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BRA' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'KET' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'CURBRA' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'CURKET' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'SQBRA' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'SQKET' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'PLUS' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'MINUS' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'SLASH' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'PLUSDOT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'MINUSDOT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'MOD' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'NEQ' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'LT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'GT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'LEQ' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'GEQ' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'AND' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'NOT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'PIPE' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'AMP' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BANG' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'COLONGT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'COLON' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'COLON2' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'SEMICOLON' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'SEMICOLON2' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'DOT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'COMMA' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'ASSIGN' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'STRING' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'UID' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'LID' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'INFIX' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'TICK_ID' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'BACKTICK_ID' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'AT_ID' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'CHAR' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'FLOAT' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'INT32' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'AT_INT32' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action 'error' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action '#' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
    action '$$' (explicit right 9985):   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr
  immediate action:   reduce ty_case --> ty_patt_arrow_atom 'ARROW' ty_expr  gotos:state 332:  items:    ty_cases2_ -> ty_case2 . 
    ty_cases2_ -> ty_case2 . 'PIPE' ty_cases2_
  actions:    action 'EOF' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'TYPE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'EQ' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'STAR' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'ARROW' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'VAL' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'OVER' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BRAGT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'LTKET' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BRALT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'GTKET' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'HASH' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'DO' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'INJECT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'EJECT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'IMPLIES' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'DATATYPE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'DATA' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'FORALL' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BOTTOM' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'LET' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'REC' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'IN' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'IF' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'THEN' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'ELSE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'FUN' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'MATCH' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'WHEN' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'WITH' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'FUNCTION' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'TRUE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'FALSE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'AS' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'OF' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'NAMESPACE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'OPEN' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'WHERE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'OVERLOAD' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'DOUBLEAMP' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'DOUBLEPIPE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'UNDERSCORE' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BACKSLASH' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'KIND' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'QUESTION' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BRA' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'KET' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'CURBRA' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'CURKET' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'SQBRA' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'SQKET' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'PLUS' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'MINUS' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'SLASH' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'PLUSDOT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'MINUSDOT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'MOD' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'NEQ' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'LT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'GT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'LEQ' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'GEQ' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'AND' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'NOT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'PIPE' (explicit left 9986):   shift 333
    action 'AMP' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BANG' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'COLONGT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'COLON' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'COLON2' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'SEMICOLON' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'SEMICOLON2' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'DOT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'COMMA' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'ASSIGN' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'STRING' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'UID' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'LID' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'INFIX' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'TICK_ID' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'BACKTICK_ID' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'AT_ID' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'CHAR' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'FLOAT' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'INT32' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'AT_INT32' (noprec):   reduce ty_cases2_ --> ty_case2
    action 'error' (noprec):   reduce ty_cases2_ --> ty_case2
    action '#' (noprec):   reduce ty_cases2_ --> ty_case2
    action '$$' (noprec):   reduce ty_cases2_ --> ty_case2
  immediate action: <none>  gotos:state 333:  items:    ty_cases2_ -> ty_case2 'PIPE' . ty_cases2_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 311
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 312
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 309
    action 'LID' (noprec):   shift 310
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty_patt: 335
    goto ty_patt_arrow_atom: 288
    goto ty_patt_htuple_atom: 291
    goto ty_patt_tuple_atom: 297
    goto ty_patt_app_atom: 300
    goto ty_patt_: 283
    goto ty_patt_arrow_atom_: 284
    goto ty_patt_htuple_atom_: 285
    goto ty_patt_tuple_atom_: 286
    goto ty_patt_app_atom_: 287
    goto ty_cases2_: 334
    goto ty_case2: 332
state 334:  items:    ty_cases2_ -> ty_case2 'PIPE' ty_cases2_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'TYPE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'EQ' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'STAR' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'ARROW' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'VAL' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'OVER' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BRAGT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'LTKET' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BRALT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'GTKET' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'HASH' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'DO' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'INJECT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'EJECT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'IMPLIES' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'DATATYPE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'DATA' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'FORALL' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BOTTOM' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'LET' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'REC' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'IN' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'IF' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'THEN' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'ELSE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'FUN' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'MATCH' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'WHEN' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'WITH' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'FUNCTION' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'TRUE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'FALSE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'AS' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'OF' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'NAMESPACE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'OPEN' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'WHERE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'OVERLOAD' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'DOUBLEAMP' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'UNDERSCORE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BACKSLASH' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'KIND' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'QUESTION' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BRA' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'KET' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'CURBRA' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'CURKET' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'SQBRA' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'SQKET' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'PLUS' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'MINUS' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'SLASH' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'PLUSDOT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'MINUSDOT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'MOD' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'NEQ' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'LT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'GT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'LEQ' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'GEQ' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'AND' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'NOT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'PIPE' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'AMP' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BANG' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'COLONGT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'COLON' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'COLON2' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'SEMICOLON' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'SEMICOLON2' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'DOT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'COMMA' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'ASSIGN' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'STRING' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'UID' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'LID' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'INFIX' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'TICK_ID' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'BACKTICK_ID' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'AT_ID' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'CHAR' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'FLOAT' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'INT32' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'AT_INT32' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action 'error' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action '#' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
    action '$$' (explicit left 9986):   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_
  immediate action:   reduce ty_cases2_ --> ty_case2 'PIPE' ty_cases2_  gotos:state 335:  items:    ty_case2 -> ty_patt . 'IMPLIES' ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   shift 336
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 336:  items:    ty_case2 -> ty_patt 'IMPLIES' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 337
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 337:  items:    ty_case2 -> ty_patt 'IMPLIES' ty_expr . 
  actions:    action 'EOF' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'TYPE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'EQ' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'STAR' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'ARROW' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'VAL' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'OVER' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BRAGT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'LTKET' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BRALT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'GTKET' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'HASH' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'DO' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'INJECT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'EJECT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'IMPLIES' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'DATATYPE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'DATA' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'FORALL' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BOTTOM' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'LET' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'REC' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'IN' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'IF' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'THEN' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'ELSE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'FUN' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'MATCH' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'WHEN' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'WITH' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'FUNCTION' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'TRUE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'FALSE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'AS' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'OF' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'NAMESPACE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'OPEN' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'WHERE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'OVERLOAD' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'UNDERSCORE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BACKSLASH' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'KIND' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'QUESTION' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BRA' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'KET' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'CURBRA' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'CURKET' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'SQBRA' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'SQKET' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'PLUS' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'MINUS' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'SLASH' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'PLUSDOT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'MINUSDOT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'MOD' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'NEQ' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'LT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'GT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'LEQ' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'GEQ' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'AND' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'NOT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'PIPE' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'AMP' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BANG' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'COLONGT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'COLON' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'COLON2' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'SEMICOLON' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'SEMICOLON2' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'DOT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'COMMA' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'ASSIGN' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'STRING' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'UID' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'LID' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'INFIX' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'TICK_ID' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'AT_ID' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'CHAR' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'FLOAT' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'INT32' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'AT_INT32' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action 'error' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action '#' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
    action '$$' (noprec):   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr
  immediate action:   reduce ty_case2 --> ty_patt 'IMPLIES' ty_expr  gotos:state 338:  items:    expr -> expr_ . 
  actions:    action 'EOF' (noprec):   reduce expr --> expr_
    action 'TYPE' (noprec):   reduce expr --> expr_
    action 'EQ' (noprec):   reduce expr --> expr_
    action 'STAR' (noprec):   reduce expr --> expr_
    action 'ARROW' (noprec):   reduce expr --> expr_
    action 'VAL' (noprec):   reduce expr --> expr_
    action 'OVER' (noprec):   reduce expr --> expr_
    action 'BRAGT' (noprec):   reduce expr --> expr_
    action 'LTKET' (noprec):   reduce expr --> expr_
    action 'BRALT' (noprec):   reduce expr --> expr_
    action 'GTKET' (noprec):   reduce expr --> expr_
    action 'HASH' (noprec):   reduce expr --> expr_
    action 'DO' (noprec):   reduce expr --> expr_
    action 'INJECT' (noprec):   reduce expr --> expr_
    action 'EJECT' (noprec):   reduce expr --> expr_
    action 'IMPLIES' (noprec):   reduce expr --> expr_
    action 'DATATYPE' (noprec):   reduce expr --> expr_
    action 'DATA' (noprec):   reduce expr --> expr_
    action 'FORALL' (noprec):   reduce expr --> expr_
    action 'BOTTOM' (noprec):   reduce expr --> expr_
    action 'LET' (noprec):   reduce expr --> expr_
    action 'REC' (noprec):   reduce expr --> expr_
    action 'IN' (noprec):   reduce expr --> expr_
    action 'IF' (noprec):   reduce expr --> expr_
    action 'THEN' (noprec):   reduce expr --> expr_
    action 'ELSE' (noprec):   reduce expr --> expr_
    action 'FUN' (noprec):   reduce expr --> expr_
    action 'MATCH' (noprec):   reduce expr --> expr_
    action 'WHEN' (noprec):   reduce expr --> expr_
    action 'WITH' (noprec):   reduce expr --> expr_
    action 'FUNCTION' (noprec):   reduce expr --> expr_
    action 'TRUE' (noprec):   reduce expr --> expr_
    action 'FALSE' (noprec):   reduce expr --> expr_
    action 'AS' (noprec):   reduce expr --> expr_
    action 'OF' (noprec):   reduce expr --> expr_
    action 'NAMESPACE' (noprec):   reduce expr --> expr_
    action 'OPEN' (noprec):   reduce expr --> expr_
    action 'WHERE' (noprec):   reduce expr --> expr_
    action 'OVERLOAD' (noprec):   reduce expr --> expr_
    action 'DOUBLEAMP' (noprec):   reduce expr --> expr_
    action 'DOUBLEPIPE' (noprec):   reduce expr --> expr_
    action 'UNDERSCORE' (noprec):   reduce expr --> expr_
    action 'BACKSLASH' (noprec):   reduce expr --> expr_
    action 'KIND' (noprec):   reduce expr --> expr_
    action 'QUESTION' (noprec):   reduce expr --> expr_
    action 'BRA' (noprec):   reduce expr --> expr_
    action 'KET' (noprec):   reduce expr --> expr_
    action 'CURBRA' (noprec):   reduce expr --> expr_
    action 'CURKET' (noprec):   reduce expr --> expr_
    action 'SQBRA' (noprec):   reduce expr --> expr_
    action 'SQKET' (noprec):   reduce expr --> expr_
    action 'PLUS' (noprec):   reduce expr --> expr_
    action 'MINUS' (noprec):   reduce expr --> expr_
    action 'SLASH' (noprec):   reduce expr --> expr_
    action 'PLUSDOT' (noprec):   reduce expr --> expr_
    action 'MINUSDOT' (noprec):   reduce expr --> expr_
    action 'MOD' (noprec):   reduce expr --> expr_
    action 'NEQ' (noprec):   reduce expr --> expr_
    action 'LT' (noprec):   reduce expr --> expr_
    action 'GT' (noprec):   reduce expr --> expr_
    action 'LEQ' (noprec):   reduce expr --> expr_
    action 'GEQ' (noprec):   reduce expr --> expr_
    action 'AND' (noprec):   reduce expr --> expr_
    action 'NOT' (noprec):   reduce expr --> expr_
    action 'PIPE' (noprec):   reduce expr --> expr_
    action 'AMP' (noprec):   reduce expr --> expr_
    action 'BANG' (noprec):   reduce expr --> expr_
    action 'COLONGT' (noprec):   reduce expr --> expr_
    action 'COLON' (noprec):   reduce expr --> expr_
    action 'COLON2' (noprec):   reduce expr --> expr_
    action 'SEMICOLON' (noprec):   reduce expr --> expr_
    action 'SEMICOLON2' (noprec):   reduce expr --> expr_
    action 'DOT' (noprec):   reduce expr --> expr_
    action 'COMMA' (noprec):   reduce expr --> expr_
    action 'ASSIGN' (noprec):   reduce expr --> expr_
    action 'STRING' (noprec):   reduce expr --> expr_
    action 'UID' (noprec):   reduce expr --> expr_
    action 'LID' (noprec):   reduce expr --> expr_
    action 'INFIX' (noprec):   reduce expr --> expr_
    action 'TICK_ID' (noprec):   reduce expr --> expr_
    action 'BACKTICK_ID' (noprec):   reduce expr --> expr_
    action 'AT_ID' (noprec):   reduce expr --> expr_
    action 'CHAR' (noprec):   reduce expr --> expr_
    action 'FLOAT' (noprec):   reduce expr --> expr_
    action 'INT32' (noprec):   reduce expr --> expr_
    action 'AT_INT32' (noprec):   reduce expr --> expr_
    action 'error' (noprec):   reduce expr --> expr_
    action '#' (noprec):   reduce expr --> expr_
    action '$$' (noprec):   reduce expr --> expr_
  immediate action:   reduce expr --> expr_  gotos:state 339:  items:    expr_stmt_atom -> expr_stmt_atom_ . 
  actions:    action 'EOF' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'TYPE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'EQ' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'STAR' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'ARROW' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'VAL' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'OVER' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BRAGT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'LTKET' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BRALT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'GTKET' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'HASH' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'DO' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'INJECT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'EJECT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'IMPLIES' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'DATATYPE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'DATA' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'FORALL' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BOTTOM' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'LET' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'REC' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'IN' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'IF' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'THEN' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'ELSE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'FUN' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'MATCH' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'WHEN' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'WITH' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'FUNCTION' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'TRUE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'FALSE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'AS' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'OF' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'NAMESPACE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'OPEN' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'WHERE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'OVERLOAD' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'DOUBLEAMP' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'DOUBLEPIPE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'UNDERSCORE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BACKSLASH' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'KIND' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'QUESTION' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BRA' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'KET' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'CURBRA' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'CURKET' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'SQBRA' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'SQKET' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'PLUS' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'MINUS' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'SLASH' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'PLUSDOT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'MINUSDOT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'MOD' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'NEQ' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'LT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'GT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'LEQ' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'GEQ' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'AND' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'NOT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'PIPE' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'AMP' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BANG' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'COLONGT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'COLON' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'COLON2' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'SEMICOLON' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'SEMICOLON2' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'DOT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'COMMA' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'ASSIGN' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'STRING' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'UID' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'LID' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'INFIX' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'TICK_ID' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'BACKTICK_ID' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'AT_ID' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'CHAR' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'FLOAT' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'INT32' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'AT_INT32' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action 'error' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action '#' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
    action '$$' (noprec):   reduce expr_stmt_atom --> expr_stmt_atom_
  immediate action:   reduce expr_stmt_atom --> expr_stmt_atom_  gotos:state 340:  items:    expr_app_atom -> expr_app_atom_ . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'TYPE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'EQ' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'STAR' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'ARROW' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'VAL' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'OVER' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BRAGT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'LTKET' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BRALT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'GTKET' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'HASH' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'DO' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'INJECT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'EJECT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'IMPLIES' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'DATATYPE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'DATA' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'FORALL' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BOTTOM' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'LET' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'REC' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'IN' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'IF' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'THEN' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'ELSE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'FUN' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'MATCH' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'WHEN' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'WITH' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'FUNCTION' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'TRUE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'FALSE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'AS' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'OF' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'NAMESPACE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'OPEN' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'WHERE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'OVERLOAD' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BACKSLASH' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'KIND' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'QUESTION' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BRA' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'KET' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'CURBRA' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'CURKET' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'SQBRA' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'SQKET' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'PLUS' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'MINUS' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'SLASH' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'PLUSDOT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'MINUSDOT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'MOD' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'NEQ' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'LT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'GT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'LEQ' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'GEQ' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'AND' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'NOT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'PIPE' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'AMP' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BANG' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'COLONGT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'COLON' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'COLON2' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'SEMICOLON' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'DOT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'COMMA' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'ASSIGN' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'STRING' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'UID' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'LID' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'INFIX' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'TICK_ID' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'AT_ID' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'CHAR' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'FLOAT' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'INT32' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'AT_INT32' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action 'error' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action '#' (noprec):   reduce expr_app_atom --> expr_app_atom_
    action '$$' (noprec):   reduce expr_app_atom --> expr_app_atom_
  immediate action:   reduce expr_app_atom --> expr_app_atom_  gotos:state 341:  items:    expr_tuple_atom -> expr_tuple_atom_ . 
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'TYPE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'EQ' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'STAR' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'VAL' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'OVER' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BRAGT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'LTKET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BRALT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'GTKET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'HASH' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'DO' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'INJECT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'EJECT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'IMPLIES' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'DATATYPE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'DATA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'FORALL' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BOTTOM' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'MATCH' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'WHEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'WITH' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'FUNCTION' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'TRUE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'FALSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'AS' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'OF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'NAMESPACE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'OPEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'WHERE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'OVERLOAD' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'DOUBLEAMP' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'DOUBLEPIPE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'UNDERSCORE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BACKSLASH' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'KIND' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'QUESTION' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BRA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'CURBRA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'CURKET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'SQBRA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'SQKET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'PLUS' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'MINUS' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'SLASH' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'PLUSDOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'MINUSDOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'MOD' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'NEQ' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'LT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'GT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'LEQ' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'GEQ' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'AND' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'PIPE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'AMP' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BANG' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'COLONGT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'COLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'SEMICOLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'DOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'ASSIGN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'STRING' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'UID' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'LID' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'INFIX' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'TICK_ID' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'BACKTICK_ID' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'AT_ID' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'CHAR' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'FLOAT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'INT32' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'AT_INT32' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom_
  immediate action:   reduce expr_tuple_atom --> expr_tuple_atom_  gotos:state 342:  items:    expr_ -> 'FUN' . fun_param_cases
    expr_ -> 'FUN' . 'REC' type_annotated fun_param_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 346
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 134
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto fun_patt_param: 124
    goto fun_patt_params: 126
    goto fun_param_case: 136
    goto fun_param_cases: 343
    goto fun_param_cases_: 133
    goto lit: 568
    goto patt_app_atom: 123
    goto patt_app_atom_: 538
state 343:  items:    expr_ -> 'FUN' fun_param_cases . 
  actions:    action 'EOF' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'TYPE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'EQ' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'STAR' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'ARROW' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'VAL' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'OVER' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BRAGT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'LTKET' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BRALT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'GTKET' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'HASH' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'DO' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'INJECT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'EJECT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'IMPLIES' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'DATATYPE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'DATA' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'FORALL' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BOTTOM' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'LET' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'REC' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'IN' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'IF' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'THEN' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'ELSE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'FUN' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'MATCH' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'WHEN' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'WITH' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'FUNCTION' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'TRUE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'FALSE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'AS' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'OF' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'NAMESPACE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'OPEN' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'WHERE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'OVERLOAD' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'DOUBLEAMP' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'DOUBLEPIPE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'UNDERSCORE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BACKSLASH' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'KIND' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'QUESTION' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BRA' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'KET' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'CURBRA' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'CURKET' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'SQBRA' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'SQKET' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'PLUS' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'MINUS' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'SLASH' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'PLUSDOT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'MINUSDOT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'MOD' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'NEQ' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'LT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'GT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'LEQ' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'GEQ' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'AND' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'NOT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'PIPE' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'AMP' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BANG' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'COLONGT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'COLON' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'COLON2' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'SEMICOLON' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'SEMICOLON2' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'DOT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'COMMA' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'ASSIGN' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'STRING' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'UID' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'LID' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'INFIX' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'TICK_ID' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'BACKTICK_ID' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'AT_ID' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'CHAR' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'FLOAT' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'INT32' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'AT_INT32' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action 'error' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action '#' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
    action '$$' (noprec):   reduce expr_ --> 'FUN' fun_param_cases
  immediate action:   reduce expr_ --> 'FUN' fun_param_cases  gotos:state 344:  items:    expr_ -> 'FUNCTION' . cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 477
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 475
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto cases: 345
    goto cases_: 474
    goto case: 483
    goto lit: 568
    goto patt: 486
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 345:  items:    expr_ -> 'FUNCTION' cases . 
  actions:    action 'EOF' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'TYPE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'EQ' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'STAR' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'ARROW' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'VAL' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'OVER' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BRAGT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'LTKET' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BRALT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'GTKET' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'HASH' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'DO' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'INJECT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'EJECT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'IMPLIES' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'DATATYPE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'DATA' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'FORALL' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BOTTOM' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'LET' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'REC' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'IN' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'IF' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'THEN' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'ELSE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'FUN' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'MATCH' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'WHEN' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'WITH' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'FUNCTION' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'TRUE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'FALSE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'AS' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'OF' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'NAMESPACE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'OPEN' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'WHERE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'OVERLOAD' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'DOUBLEAMP' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'DOUBLEPIPE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'UNDERSCORE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BACKSLASH' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'KIND' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'QUESTION' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BRA' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'KET' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'CURBRA' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'CURKET' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'SQBRA' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'SQKET' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'PLUS' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'MINUS' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'SLASH' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'PLUSDOT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'MINUSDOT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'MOD' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'NEQ' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'LT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'GT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'LEQ' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'GEQ' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'AND' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'NOT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'PIPE' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'AMP' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BANG' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'COLONGT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'COLON' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'COLON2' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'SEMICOLON' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'SEMICOLON2' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'DOT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'COMMA' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'ASSIGN' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'STRING' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'UID' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'LID' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'INFIX' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'TICK_ID' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'BACKTICK_ID' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'AT_ID' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'CHAR' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'FLOAT' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'INT32' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'AT_INT32' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action 'error' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action '#' (noprec):   reduce expr_ --> 'FUNCTION' cases
    action '$$' (noprec):   reduce expr_ --> 'FUNCTION' cases
  immediate action:   reduce expr_ --> 'FUNCTION' cases  gotos:state 346:  items:    expr_ -> 'FUN' 'REC' . type_annotated fun_param_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   shift 154
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto type_annotated: 347
state 347:  items:    expr_ -> 'FUN' 'REC' type_annotated . fun_param_cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 134
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto fun_patt_param: 124
    goto fun_patt_params: 126
    goto fun_param_case: 136
    goto fun_param_cases: 348
    goto fun_param_cases_: 133
    goto lit: 568
    goto patt_app_atom: 123
    goto patt_app_atom_: 538
state 348:  items:    expr_ -> 'FUN' 'REC' type_annotated fun_param_cases . 
  actions:    action 'EOF' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'TYPE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'EQ' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'STAR' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'ARROW' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'VAL' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'OVER' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BRAGT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'LTKET' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BRALT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'GTKET' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'HASH' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'DO' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'INJECT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'EJECT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'IMPLIES' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'DATATYPE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'DATA' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'FORALL' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BOTTOM' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'LET' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'REC' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'IN' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'IF' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'THEN' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'ELSE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'FUN' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'MATCH' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'WHEN' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'WITH' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'FUNCTION' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'TRUE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'FALSE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'AS' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'OF' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'NAMESPACE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'OPEN' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'WHERE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'OVERLOAD' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'DOUBLEAMP' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'DOUBLEPIPE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'UNDERSCORE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BACKSLASH' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'KIND' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'QUESTION' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BRA' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'KET' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'CURBRA' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'CURKET' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'SQBRA' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'SQKET' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'PLUS' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'MINUS' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'SLASH' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'PLUSDOT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'MINUSDOT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'MOD' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'NEQ' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'LT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'GT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'LEQ' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'GEQ' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'AND' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'NOT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'PIPE' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'AMP' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BANG' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'COLONGT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'COLON' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'COLON2' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'SEMICOLON' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'SEMICOLON2' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'DOT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'COMMA' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'ASSIGN' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'STRING' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'UID' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'LID' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'INFIX' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'TICK_ID' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'BACKTICK_ID' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'AT_ID' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'CHAR' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'FLOAT' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'INT32' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'AT_INT32' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action 'error' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action '#' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
    action '$$' (noprec):   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases
  immediate action:   reduce expr_ --> 'FUN' 'REC' type_annotated fun_param_cases  gotos:state 349:  items:    expr_ -> expr_stmt_atom . 
  actions:    action 'EOF' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'TYPE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'EQ' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'STAR' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'ARROW' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'VAL' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'OVER' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BRAGT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'LTKET' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BRALT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'GTKET' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'HASH' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'DO' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'INJECT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'EJECT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'IMPLIES' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'DATATYPE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'DATA' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'FORALL' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BOTTOM' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'LET' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'REC' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'IN' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'IF' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'THEN' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'ELSE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'FUN' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'MATCH' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'WHEN' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'WITH' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'FUNCTION' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'TRUE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'FALSE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'AS' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'OF' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'NAMESPACE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'OPEN' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'WHERE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'OVERLOAD' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'DOUBLEAMP' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'DOUBLEPIPE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'UNDERSCORE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BACKSLASH' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'KIND' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'QUESTION' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BRA' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'KET' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'CURBRA' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'CURKET' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'SQBRA' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'SQKET' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'PLUS' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'MINUS' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'SLASH' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'PLUSDOT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'MINUSDOT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'MOD' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'NEQ' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'LT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'GT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'LEQ' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'GEQ' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'AND' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'NOT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'PIPE' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'AMP' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BANG' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'COLONGT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'COLON' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'COLON2' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'SEMICOLON' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'SEMICOLON2' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'DOT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'COMMA' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'ASSIGN' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'STRING' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'UID' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'LID' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'INFIX' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'TICK_ID' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'BACKTICK_ID' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'AT_ID' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'CHAR' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'FLOAT' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'INT32' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'AT_INT32' (noprec):   reduce expr_ --> expr_stmt_atom
    action 'error' (noprec):   reduce expr_ --> expr_stmt_atom
    action '#' (noprec):   reduce expr_ --> expr_stmt_atom
    action '$$' (noprec):   reduce expr_ --> expr_stmt_atom
  immediate action:   reduce expr_ --> expr_stmt_atom  gotos:state 350:  items:    expr_ -> 'DO' . 'CURBRA' expr_stmts 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 351
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 351:  items:    expr_ -> 'DO' 'CURBRA' . expr_stmts 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 354
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmts: 352
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 352:  items:    expr_ -> 'DO' 'CURBRA' expr_stmts . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 353
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 353:  items:    expr_ -> 'DO' 'CURBRA' expr_stmts 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'TYPE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'EQ' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'STAR' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'ARROW' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'VAL' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'OVER' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BRAGT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'LTKET' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BRALT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'GTKET' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'HASH' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'DO' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'INJECT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'EJECT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'IMPLIES' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'DATATYPE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'DATA' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'FORALL' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BOTTOM' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'LET' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'REC' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'IN' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'IF' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'THEN' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'ELSE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'FUN' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'MATCH' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'WHEN' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'WITH' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'FUNCTION' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'TRUE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'FALSE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'AS' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'OF' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'NAMESPACE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'OPEN' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'WHERE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'OVERLOAD' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BACKSLASH' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'KIND' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'QUESTION' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BRA' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'KET' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'CURBRA' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'CURKET' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'SQBRA' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'SQKET' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'PLUS' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'MINUS' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'SLASH' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'PLUSDOT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'MINUSDOT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'MOD' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'NEQ' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'LT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'GT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'LEQ' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'GEQ' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'AND' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'NOT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'PIPE' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'AMP' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BANG' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'COLONGT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'COLON' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'COLON2' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'SEMICOLON' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'DOT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'COMMA' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'ASSIGN' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'STRING' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'UID' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'LID' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'INFIX' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'TICK_ID' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'AT_ID' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'CHAR' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'FLOAT' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'INT32' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'AT_INT32' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action 'error' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action '#' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
    action '$$' (noprec):   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'
  immediate action:   reduce expr_ --> 'DO' 'CURBRA' expr_stmts 'CURKET'  gotos:state 354:  items:    expr_stmts -> expr_stmt_atom . 
    expr_stmts -> expr_stmt_atom . 'SEMICOLON'
    expr_stmts -> expr_stmt_atom . 'SEMICOLON' expr_stmts
  actions:    action 'EOF' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'TYPE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'EQ' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'STAR' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'ARROW' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'VAL' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'OVER' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BRAGT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'LTKET' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BRALT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'GTKET' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'HASH' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'DO' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'INJECT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'EJECT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'IMPLIES' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'DATATYPE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'DATA' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'FORALL' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BOTTOM' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'LET' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'REC' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'IN' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'IF' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'THEN' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'ELSE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'FUN' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'MATCH' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'WHEN' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'WITH' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'FUNCTION' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'TRUE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'FALSE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'AS' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'OF' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'NAMESPACE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'OPEN' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'WHERE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'OVERLOAD' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'DOUBLEAMP' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'DOUBLEPIPE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'UNDERSCORE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BACKSLASH' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'KIND' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'QUESTION' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BRA' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'KET' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'CURBRA' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'CURKET' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'SQBRA' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'SQKET' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'PLUS' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'MINUS' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'SLASH' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'PLUSDOT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'MINUSDOT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'MOD' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'NEQ' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'LT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'GT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'LEQ' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'GEQ' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'AND' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'NOT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'PIPE' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'AMP' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BANG' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'COLONGT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'COLON' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'COLON2' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'SEMICOLON' (explicit right 9980):   shift 355
    action 'SEMICOLON2' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'DOT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'COMMA' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'ASSIGN' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'STRING' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'UID' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'LID' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'INFIX' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'TICK_ID' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'BACKTICK_ID' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'AT_ID' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'CHAR' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'FLOAT' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'INT32' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'AT_INT32' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action 'error' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action '#' (noprec):   reduce expr_stmts --> expr_stmt_atom
    action '$$' (noprec):   reduce expr_stmts --> expr_stmt_atom
  immediate action: <none>  gotos:state 355:  items:    expr_stmts -> expr_stmt_atom 'SEMICOLON' . 
    expr_stmts -> expr_stmt_atom 'SEMICOLON' . expr_stmts
  actions:    action 'EOF' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'TYPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'EQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'STAR' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'ARROW' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'BRAGT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'LTKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'BRALT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'GTKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'HASH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'DO' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'DATATYPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'DATA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'FORALL' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'BOTTOM' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'LET' (noprec):   shift 357
    action 'REC' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'IN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'IF' (noprec):   shift 361
    action 'THEN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'ELSE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'FUN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'WITH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'FUNCTION' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'OF' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'NAMESPACE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'OPEN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'WHERE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'OVERLOAD' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'DOUBLEAMP' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'DOUBLEPIPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'UNDERSCORE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'BACKSLASH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'KIND' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'QUESTION' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'PLUS' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'PLUSDOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'MINUSDOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'MOD' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'NEQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'LT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'GT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'LEQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'GEQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'AND' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'AMP' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'BANG' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'COLONGT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'COLON' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'COLON2' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'SEMICOLON' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'SEMICOLON2' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'DOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'COMMA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'ASSIGN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action '#' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
    action '$$' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 354
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmts: 356
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 356:  items:    expr_stmts -> expr_stmt_atom 'SEMICOLON' expr_stmts . 
  actions:    action 'EOF' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'TYPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'EQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'STAR' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'ARROW' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'VAL' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'OVER' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BRAGT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'LTKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BRALT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'GTKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'HASH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'DO' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'INJECT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'EJECT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'IMPLIES' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'DATATYPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'DATA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'FORALL' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BOTTOM' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'LET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'REC' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'IN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'IF' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'THEN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'ELSE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'FUN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'MATCH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'WHEN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'WITH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'FUNCTION' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'TRUE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'FALSE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'AS' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'OF' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'NAMESPACE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'OPEN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'WHERE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'OVERLOAD' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'DOUBLEAMP' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'DOUBLEPIPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'UNDERSCORE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BACKSLASH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'KIND' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'QUESTION' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BRA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'KET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'CURBRA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'CURKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'SQBRA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'SQKET' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'PLUS' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'MINUS' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'SLASH' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'PLUSDOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'MINUSDOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'MOD' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'NEQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'LT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'GT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'LEQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'GEQ' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'AND' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'NOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'PIPE' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'AMP' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BANG' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'COLONGT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'COLON' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'COLON2' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'SEMICOLON' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'SEMICOLON2' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'DOT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'COMMA' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'ASSIGN' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'STRING' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'UID' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'LID' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'INFIX' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'TICK_ID' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'BACKTICK_ID' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'AT_ID' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'CHAR' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'FLOAT' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'INT32' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'AT_INT32' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action 'error' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action '#' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
    action '$$' (explicit right 9980):   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts
  immediate action:   reduce expr_stmts --> expr_stmt_atom 'SEMICOLON' expr_stmts  gotos:state 357:  items:    expr_stmt_atom_ -> 'LET' . let_decls 'IN' expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 34
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 67
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 82
    goto nested_decl: 473
    goto nested_decl_: 38
    goto let_or_letrec_decl: 472
    goto let_or_letrec_decl_: 65
    goto let_and_bindings: 66
    goto let_binding: 69
    goto let_binding_no_qual: 81
    goto let_decls: 358
    goto inner_decl: 469
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 358:  items:    expr_stmt_atom_ -> 'LET' let_decls . 'IN' expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   shift 359
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 359:  items:    expr_stmt_atom_ -> 'LET' let_decls 'IN' . expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 360
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 360:  items:    expr_stmt_atom_ -> 'LET' let_decls 'IN' expr . 
  actions:    action 'EOF' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'TYPE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'EQ' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'STAR' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'ARROW' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'VAL' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'OVER' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BRAGT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'LTKET' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BRALT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'GTKET' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'HASH' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'DO' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'INJECT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'EJECT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'IMPLIES' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'DATATYPE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'DATA' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'FORALL' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BOTTOM' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'LET' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'REC' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'IN' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'IF' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'THEN' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'ELSE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'FUN' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'MATCH' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'WHEN' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'WITH' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'FUNCTION' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'TRUE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'FALSE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'AS' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'OF' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'NAMESPACE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'OPEN' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'WHERE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'OVERLOAD' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'DOUBLEAMP' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'DOUBLEPIPE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'UNDERSCORE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BACKSLASH' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'KIND' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'QUESTION' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BRA' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'KET' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'CURBRA' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'CURKET' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'SQBRA' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'SQKET' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'PLUS' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'MINUS' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'SLASH' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'PLUSDOT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'MINUSDOT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'MOD' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'NEQ' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'LT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'GT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'LEQ' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'GEQ' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'AND' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'NOT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'PIPE' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'AMP' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BANG' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'COLONGT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'COLON' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'COLON2' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'SEMICOLON' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'SEMICOLON2' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'DOT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'COMMA' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'ASSIGN' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'STRING' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'UID' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'LID' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'INFIX' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'TICK_ID' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'BACKTICK_ID' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'AT_ID' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'CHAR' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'FLOAT' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'INT32' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'AT_INT32' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action 'error' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action '#' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
    action '$$' (noprec):   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr
  immediate action:   reduce expr_stmt_atom_ --> 'LET' let_decls 'IN' expr  gotos:state 361:  items:    expr_stmt_atom_ -> 'IF' . expr 'THEN' expr_stmt_atom
    expr_stmt_atom_ -> 'IF' . expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 362
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 362:  items:    expr_stmt_atom_ -> 'IF' expr . 'THEN' expr_stmt_atom
    expr_stmt_atom_ -> 'IF' expr . 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (explicit nonassoc 9981):   shift 363
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 363:  items:    expr_stmt_atom_ -> 'IF' expr 'THEN' . expr_stmt_atom
    expr_stmt_atom_ -> 'IF' expr 'THEN' . expr_stmt_atom 'ELSE' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 364
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 364:  items:    expr_stmt_atom_ -> 'IF' expr 'THEN' expr_stmt_atom . 
    expr_stmt_atom_ -> 'IF' expr 'THEN' expr_stmt_atom . 'ELSE' expr_stmt_atom
  actions:    action 'EOF' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'TYPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'EQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'STAR' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'ARROW' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'VAL' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'OVER' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BRAGT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'LTKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BRALT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'GTKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'HASH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'DO' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'INJECT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'EJECT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'IMPLIES' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'DATATYPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'DATA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'FORALL' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BOTTOM' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'LET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'REC' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'IN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'IF' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'THEN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'ELSE' (explicit nonassoc 9981):   shift 365
    action 'FUN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'MATCH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'WHEN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'WITH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'FUNCTION' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'TRUE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'FALSE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'AS' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'OF' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'NAMESPACE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'OPEN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'WHERE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'OVERLOAD' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'DOUBLEAMP' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'UNDERSCORE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BACKSLASH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'KIND' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'QUESTION' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BRA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'KET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'CURBRA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'CURKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'SQBRA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'SQKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'PLUS' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'MINUS' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'SLASH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'PLUSDOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'MINUSDOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'MOD' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'NEQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'LT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'GT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'LEQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'GEQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'AND' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'NOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'PIPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'AMP' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BANG' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'COLONGT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'COLON' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'COLON2' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'SEMICOLON' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'SEMICOLON2' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'DOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'COMMA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'ASSIGN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'STRING' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'UID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'LID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'INFIX' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'TICK_ID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'BACKTICK_ID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'AT_ID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'CHAR' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'FLOAT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'INT32' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'AT_INT32' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action 'error' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action '#' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
    action '$$' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom
  immediate action: <none>  gotos:state 365:  items:    expr_stmt_atom_ -> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 366
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 366:  items:    expr_stmt_atom_ -> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom . 
  actions:    action 'EOF' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'TYPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'EQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'STAR' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'ARROW' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'VAL' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'OVER' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BRAGT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'LTKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BRALT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'GTKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'HASH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'DO' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'INJECT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'EJECT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'IMPLIES' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'DATATYPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'DATA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'FORALL' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BOTTOM' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'LET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'REC' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'IN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'IF' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'THEN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'ELSE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'FUN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'MATCH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'WHEN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'WITH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'FUNCTION' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'TRUE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'FALSE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'AS' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'OF' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'NAMESPACE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'OPEN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'WHERE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'OVERLOAD' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'DOUBLEAMP' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'UNDERSCORE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BACKSLASH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'KIND' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'QUESTION' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BRA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'KET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'CURBRA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'CURKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'SQBRA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'SQKET' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'PLUS' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'MINUS' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'SLASH' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'PLUSDOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'MINUSDOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'MOD' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'NEQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'LT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'GT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'LEQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'GEQ' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'AND' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'NOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'PIPE' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'AMP' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BANG' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'COLONGT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'COLON' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'COLON2' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'SEMICOLON' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'SEMICOLON2' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'DOT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'COMMA' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'ASSIGN' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'STRING' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'UID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'LID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'INFIX' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'TICK_ID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'BACKTICK_ID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'AT_ID' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'CHAR' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'FLOAT' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'INT32' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'AT_INT32' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action 'error' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action '#' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
    action '$$' (explicit nonassoc 9981):   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom
  immediate action:   reduce expr_stmt_atom_ --> 'IF' expr 'THEN' expr_stmt_atom 'ELSE' expr_stmt_atom  gotos:state 367:  items:    expr_stmt_atom_ -> 'MATCH' . expr_stmt_atom 'WITH' cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 368
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 368:  items:    expr_stmt_atom_ -> 'MATCH' expr_stmt_atom . 'WITH' cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   shift 369
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 369:  items:    expr_stmt_atom_ -> 'MATCH' expr_stmt_atom 'WITH' . cases
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 477
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 475
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto cases: 370
    goto cases_: 474
    goto case: 483
    goto lit: 568
    goto patt: 486
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 370:  items:    expr_stmt_atom_ -> 'MATCH' expr_stmt_atom 'WITH' cases . 
  actions:    action 'EOF' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'TYPE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'EQ' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'STAR' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'ARROW' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'VAL' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'OVER' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BRAGT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'LTKET' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BRALT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'GTKET' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'HASH' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'DO' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'INJECT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'EJECT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'IMPLIES' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'DATATYPE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'DATA' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'FORALL' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BOTTOM' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'LET' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'REC' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'IN' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'IF' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'THEN' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'ELSE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'FUN' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'MATCH' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'WHEN' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'WITH' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'FUNCTION' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'TRUE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'FALSE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'AS' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'OF' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'NAMESPACE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'OPEN' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'WHERE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'OVERLOAD' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'DOUBLEAMP' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'DOUBLEPIPE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'UNDERSCORE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BACKSLASH' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'KIND' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'QUESTION' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BRA' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'KET' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'CURBRA' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'CURKET' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'SQBRA' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'SQKET' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'PLUS' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'MINUS' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'SLASH' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'PLUSDOT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'MINUSDOT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'MOD' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'NEQ' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'LT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'GT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'LEQ' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'GEQ' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'AND' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'NOT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'PIPE' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'AMP' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BANG' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'COLONGT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'COLON' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'COLON2' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'SEMICOLON' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'SEMICOLON2' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'DOT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'COMMA' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'ASSIGN' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'STRING' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'UID' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'LID' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'INFIX' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'TICK_ID' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'BACKTICK_ID' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'AT_ID' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'CHAR' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'FLOAT' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'INT32' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'AT_INT32' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action 'error' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action '#' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
    action '$$' (noprec):   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases
  immediate action:   reduce expr_stmt_atom_ --> 'MATCH' expr_stmt_atom 'WITH' cases  gotos:state 371:  items:    expr_stmt_atom_ -> expr_tuple_atom . 
    expr_stmt_atom_ -> expr_tuple_atom . 'COMMA' expr_tuple
    expr_stmt_atom_ -> expr_tuple_atom . 'WHERE' ty_expr
    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'TYPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'VAL' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'OVER' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BRAGT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'LTKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BRALT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'GTKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'HASH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DO' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'INJECT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'EJECT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DATA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'FORALL' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'LET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'REC' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'IN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'IF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'MATCH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'WHEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'WITH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'OF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'OPEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'WHERE' (noprec):   shift 375
    action 'OVERLOAD' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   shift 437
    action 'DOUBLEPIPE' (explicit left 9986):   shift 439
    action 'UNDERSCORE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'QUESTION' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'NOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'PIPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'AMP' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BANG' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'COLONGT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 373
    action 'ASSIGN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action '#' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action '$$' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 372:  items:    expr_stmt_atom_ -> expr_tuple_atom . 
    expr_stmt_atom_ -> expr_tuple_atom . 'COMMA' expr_tuple
    expr_stmt_atom_ -> expr_tuple_atom . 'WHERE' ty_expr
    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
    expr_app_atom_ -> 'BRA' expr_tuple_atom . symbol 'KET'
  actions:    action 'EOF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'TYPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 426
    action 'STAR' (explicit left 9992):   shift 419
    action 'ARROW' (explicit right 9985):   shift 516
    action 'VAL' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'OVER' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BRAGT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'LTKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BRALT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'GTKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'HASH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DO' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'INJECT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'EJECT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DATA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'FORALL' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'LET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'REC' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'IN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'IF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'MATCH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'WHEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'WITH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'OF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'OPEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'WHERE' (noprec):   shift 375
    action 'OVERLOAD' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   shift 438
    action 'DOUBLEPIPE' (explicit left 9986):   shift 440
    action 'UNDERSCORE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'QUESTION' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 415
    action 'MINUS' (explicit left 9990):   shift 417
    action 'SLASH' (explicit left 9992):   shift 421
    action 'PLUSDOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 423
    action 'NEQ' (explicit left 9989):   shift 428
    action 'LT' (explicit left 9989):   shift 430
    action 'GT' (explicit left 9989):   shift 432
    action 'LEQ' (explicit left 9989):   shift 434
    action 'GEQ' (explicit left 9989):   shift 436
    action 'AND' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'NOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'PIPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'AMP' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'BANG' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'COLONGT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'DOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 373
    action 'ASSIGN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 413
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action '#' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
    action '$$' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto symbol: 452
    goto lit: 447
state 373:  items:    expr_stmt_atom_ -> expr_tuple_atom 'COMMA' . expr_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 379
    goto expr_tuple: 374
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 374:  items:    expr_stmt_atom_ -> expr_tuple_atom 'COMMA' expr_tuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'TYPE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'EQ' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'STAR' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'ARROW' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'VAL' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OVER' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BRAGT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LTKET' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BRALT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'GTKET' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'HASH' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DO' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'INJECT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'EJECT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'IMPLIES' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DATATYPE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DATA' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FORALL' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BOTTOM' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LET' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'REC' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'IN' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'IF' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'THEN' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'ELSE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FUN' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MATCH' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'WHEN' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'WITH' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FUNCTION' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'TRUE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FALSE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AS' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OF' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'NAMESPACE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OPEN' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'WHERE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OVERLOAD' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'UNDERSCORE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BACKSLASH' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'KIND' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'QUESTION' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BRA' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'KET' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'CURBRA' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'CURKET' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SQBRA' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SQKET' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'PLUS' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MINUS' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SLASH' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'PLUSDOT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MINUSDOT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MOD' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'NEQ' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'GT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LEQ' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'GEQ' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AND' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'NOT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'PIPE' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AMP' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BANG' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COLONGT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COLON' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COLON2' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SEMICOLON' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SEMICOLON2' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DOT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COMMA' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'ASSIGN' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'STRING' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'UID' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LID' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'INFIX' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'TICK_ID' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AT_ID' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'CHAR' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FLOAT' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'INT32' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AT_INT32' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action 'error' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action '#' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
    action '$$' (explicit left 9984):   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple
  immediate action:   reduce expr_stmt_atom_ --> expr_tuple_atom 'COMMA' expr_tuple  gotos:state 375:  items:    expr_stmt_atom_ -> expr_tuple_atom 'WHERE' . ty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 216
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto ty_expr: 376
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_: 211
    goto ty_expr_unquantified_: 220
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 376:  items:    expr_stmt_atom_ -> expr_tuple_atom 'WHERE' ty_expr . 
  actions:    action 'EOF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'TYPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'EQ' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'STAR' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'ARROW' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'VAL' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'OVER' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BRAGT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'LTKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BRALT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'GTKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'HASH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'DO' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'INJECT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'EJECT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'IMPLIES' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'DATATYPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'DATA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'FORALL' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BOTTOM' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'LET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'REC' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'IN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'IF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'THEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'ELSE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'FUN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'MATCH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'WHEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'WITH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'FUNCTION' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'TRUE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'FALSE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'AS' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'OF' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'NAMESPACE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'OPEN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'WHERE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'OVERLOAD' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'DOUBLEAMP' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'DOUBLEPIPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'UNDERSCORE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BACKSLASH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'KIND' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'QUESTION' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BRA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'KET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'CURBRA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'CURKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'SQBRA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'SQKET' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'PLUS' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'MINUS' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'SLASH' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'PLUSDOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'MINUSDOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'MOD' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'NEQ' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'LT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'GT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'LEQ' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'GEQ' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'AND' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'NOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'PIPE' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'AMP' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BANG' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'COLONGT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'COLON' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'COLON2' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'SEMICOLON' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'SEMICOLON2' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'DOT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'COMMA' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'ASSIGN' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'STRING' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'UID' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'LID' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'INFIX' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'TICK_ID' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'BACKTICK_ID' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'AT_ID' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'CHAR' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'FLOAT' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'INT32' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'AT_INT32' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action 'error' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action '#' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
    action '$$' (noprec):   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr
  immediate action:   reduce expr_stmt_atom_ --> expr_tuple_atom 'WHERE' ty_expr  gotos:state 377:  items:    expr_stmt_atom_ -> 'VAL' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 378
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 378:  items:    expr_stmt_atom_ -> 'VAL' expr_stmt_atom . 
  actions:    action 'EOF' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'TYPE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'EQ' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'STAR' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'ARROW' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'VAL' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'OVER' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BRAGT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'LTKET' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BRALT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'GTKET' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'HASH' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'DO' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'INJECT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'EJECT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'IMPLIES' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'DATATYPE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'DATA' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'FORALL' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BOTTOM' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'LET' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'REC' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'IN' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'IF' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'THEN' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'ELSE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'FUN' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'MATCH' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'WHEN' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'WITH' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'FUNCTION' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'TRUE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'FALSE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'AS' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'OF' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'NAMESPACE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'OPEN' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'WHERE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'OVERLOAD' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'DOUBLEAMP' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'UNDERSCORE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BACKSLASH' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'KIND' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'QUESTION' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BRA' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'KET' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'CURBRA' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'CURKET' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'SQBRA' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'SQKET' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'PLUS' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'MINUS' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'SLASH' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'PLUSDOT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'MINUSDOT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'MOD' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'NEQ' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'LT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'GT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'LEQ' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'GEQ' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'AND' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'NOT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'PIPE' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'AMP' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BANG' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'COLONGT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'COLON' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'COLON2' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'SEMICOLON' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'SEMICOLON2' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'DOT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'COMMA' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'ASSIGN' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'STRING' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'UID' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'LID' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'INFIX' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'TICK_ID' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'BACKTICK_ID' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'AT_ID' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'CHAR' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'FLOAT' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'INT32' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'AT_INT32' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action 'error' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action '#' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
    action '$$' (explicit nonassoc 9995):   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom
  immediate action:   reduce expr_stmt_atom_ --> 'VAL' expr_stmt_atom  gotos:state 379:  items:    expr_tuple -> expr_tuple_atom . 
    expr_tuple -> expr_tuple_atom . 'COMMA' expr_tuple
    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'TYPE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'VAL' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'OVER' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'BRAGT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'LTKET' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'BRALT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'GTKET' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'HASH' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'DO' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'INJECT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'EJECT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'DATA' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'FORALL' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'MATCH' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'WHEN' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'WITH' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'OF' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'OPEN' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'WHERE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'OVERLOAD' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   shift 437
    action 'DOUBLEPIPE' (explicit left 9986):   shift 439
    action 'UNDERSCORE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'QUESTION' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'NOT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'PIPE' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'AMP' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'BANG' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'COLONGT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'DOT' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 380
    action 'ASSIGN' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple --> expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple --> expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 380:  items:    expr_tuple -> expr_tuple_atom 'COMMA' . expr_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 379
    goto expr_tuple: 381
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 381:  items:    expr_tuple -> expr_tuple_atom 'COMMA' expr_tuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'TYPE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'EQ' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'STAR' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'ARROW' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'VAL' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OVER' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BRAGT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LTKET' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BRALT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'GTKET' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'HASH' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DO' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'INJECT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'EJECT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'IMPLIES' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DATATYPE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DATA' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FORALL' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BOTTOM' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LET' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'REC' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'IN' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'IF' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'THEN' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'ELSE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FUN' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MATCH' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'WHEN' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'WITH' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FUNCTION' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'TRUE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FALSE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AS' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OF' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'NAMESPACE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OPEN' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'WHERE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'OVERLOAD' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'UNDERSCORE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BACKSLASH' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'KIND' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'QUESTION' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BRA' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'KET' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'CURBRA' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'CURKET' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SQBRA' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SQKET' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'PLUS' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MINUS' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SLASH' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'PLUSDOT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MINUSDOT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'MOD' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'NEQ' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'GT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LEQ' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'GEQ' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AND' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'NOT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'PIPE' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AMP' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BANG' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COLONGT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COLON' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COLON2' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SEMICOLON' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'SEMICOLON2' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'DOT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'COMMA' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'ASSIGN' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'STRING' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'UID' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'LID' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'INFIX' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'TICK_ID' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AT_ID' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'CHAR' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'FLOAT' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'INT32' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'AT_INT32' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action 'error' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action '#' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
    action '$$' (explicit left 9984):   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple
  immediate action:   reduce expr_tuple --> expr_tuple_atom 'COMMA' expr_tuple  gotos:state 382:  items:    expr_tuple_atom_ -> expr_app_atom . 
    expr_app_atom_ -> expr_app_atom . 'HASH'
    expr_app_atom_ -> expr_app_atom . 'DOT' id
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'TYPE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'EQ' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'STAR' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'VAL' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'OVER' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BRAGT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'LTKET' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BRALT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'GTKET' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'HASH' (noprec):   shift 456
    action 'DO' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'INJECT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'EJECT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'IMPLIES' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'DATATYPE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'DATA' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'FORALL' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BOTTOM' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'LET' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'REC' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'IN' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'IF' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'MATCH' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'WHEN' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'WITH' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'FUNCTION' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'TRUE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'FALSE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'AS' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'OF' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'NAMESPACE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'OPEN' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'WHERE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'OVERLOAD' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'DOUBLEAMP' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'UNDERSCORE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BACKSLASH' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'KIND' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'QUESTION' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BRA' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'KET' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'CURBRA' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'CURKET' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'SQBRA' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'SQKET' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'PLUS' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'MINUS' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'SLASH' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'PLUSDOT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'MINUSDOT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'MOD' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'NEQ' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'LT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'GT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'LEQ' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'GEQ' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'AND' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'NOT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'PIPE' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'AMP' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BANG' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'COLONGT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'COLON2' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'SEMICOLON' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'DOT' (noprec):   shift 457
    action 'COMMA' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'ASSIGN' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'STRING' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'UID' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'LID' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'INFIX' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'TICK_ID' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'BACKTICK_ID' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'AT_ID' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'CHAR' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'FLOAT' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'INT32' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'AT_INT32' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action 'error' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action '#' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
    action '$$' (noprec):   reduce expr_tuple_atom_ --> expr_app_atom
  immediate action: <none>  gotos:state 383:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> 'INJECT' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'TYPE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'VAL' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'OVER' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'BRAGT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'LTKET' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'BRALT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'GTKET' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'HASH' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'DO' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'INJECT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'EJECT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'DATA' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'FORALL' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'MATCH' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'WHEN' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'WITH' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'OF' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'OPEN' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'WHERE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'OVERLOAD' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   shift 437
    action 'DOUBLEPIPE' (explicit left 9986):   shift 439
    action 'UNDERSCORE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'QUESTION' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'NOT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'PIPE' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'AMP' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'BANG' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'COLONGT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'DOT' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'ASSIGN' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom_ --> 'INJECT' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 384:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> 'EJECT' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'TYPE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'VAL' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'OVER' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'BRAGT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'LTKET' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'BRALT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'GTKET' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'HASH' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'DO' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'INJECT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'EJECT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'IMPLIES' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'DATATYPE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'DATA' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'FORALL' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'BOTTOM' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'MATCH' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'WHEN' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'WITH' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'FUNCTION' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'OF' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'NAMESPACE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'OPEN' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'WHERE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'OVERLOAD' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   shift 437
    action 'DOUBLEPIPE' (explicit left 9986):   shift 439
    action 'UNDERSCORE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'QUESTION' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'MINUSDOT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'NOT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'PIPE' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'AMP' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'BANG' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'COLONGT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'DOT' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'ASSIGN' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom_ --> 'EJECT' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 385:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> 'MINUS' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'TYPE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'EQ' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'STAR' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'ARROW' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'VAL' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'OVER' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'BRAGT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'LTKET' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'BRALT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'GTKET' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'HASH' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'DO' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'INJECT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'EJECT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'IMPLIES' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'DATATYPE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'DATA' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'FORALL' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'BOTTOM' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'LET' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'REC' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'IN' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'IF' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'THEN' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'ELSE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'FUN' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'MATCH' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'WHEN' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'WITH' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'FUNCTION' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'OF' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'NAMESPACE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'OPEN' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'WHERE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'OVERLOAD' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'DOUBLEAMP' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'UNDERSCORE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'BACKSLASH' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'KIND' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'QUESTION' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'PLUS' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'MINUS' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'SLASH' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'PLUSDOT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'MINUSDOT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'MOD' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'NEQ' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'LT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'GT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'LEQ' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'GEQ' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'AND' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'NOT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'PIPE' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'AMP' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'BANG' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'COLONGT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'SEMICOLON' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'SEMICOLON2' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'DOT' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'COMMA' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'ASSIGN' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action '#' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
    action '$$' (explicit nonassoc 9998):   reduce expr_tuple_atom_ --> 'MINUS' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 386:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'INFIX' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'TYPE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'EQ' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'VAL' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'OVER' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'BRAGT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'LTKET' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'BRALT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'GTKET' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'HASH' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'DO' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'INJECT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'EJECT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'IMPLIES' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'DATATYPE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'DATA' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'FORALL' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'BOTTOM' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'LET' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'REC' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'IN' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'IF' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'THEN' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'ELSE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'FUN' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'MATCH' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'WHEN' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'WITH' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'FUNCTION' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'OF' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'OPEN' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'WHERE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'QUESTION' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'PLUS' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'MINUS' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'LT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'GT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'LEQ' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'GEQ' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'AND' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'NOT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'PIPE' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'AMP' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'BANG' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'COLONGT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'DOT' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'COMMA' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'ASSIGN' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action '#' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
    action '$$' (explicit left 9991):   reduce expr_tuple_atom_ --> expr_tuple_atom 'INFIX' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 387:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'PLUS' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'TYPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'EQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'VAL' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'OVER' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'BRAGT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LTKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'BRALT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'GTKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'HASH' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'DO' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'INJECT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'EJECT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'IMPLIES' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'DATATYPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'DATA' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'FORALL' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'BOTTOM' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'REC' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'IN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'IF' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'THEN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'ELSE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'FUN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'MATCH' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'WHEN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'WITH' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'FUNCTION' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'OF' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'OPEN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'WHERE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'QUESTION' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'MINUS' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'GT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LEQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'GEQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'AND' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'NOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'PIPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'AMP' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'BANG' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'COLONGT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'DOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'COMMA' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'ASSIGN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action '#' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action '$$' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'PLUS' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 388:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'MINUS' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'TYPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'EQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'VAL' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'OVER' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'BRAGT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LTKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'BRALT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'GTKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'HASH' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'DO' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'INJECT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'EJECT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'IMPLIES' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'DATATYPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'DATA' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'FORALL' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'BOTTOM' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'REC' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'IN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'IF' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'THEN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'ELSE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'FUN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'MATCH' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'WHEN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'WITH' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'FUNCTION' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'OF' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'OPEN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'WHERE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'QUESTION' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'MINUS' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'GT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LEQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'GEQ' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'AND' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'NOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'PIPE' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'AMP' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'BANG' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'COLONGT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'DOT' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'COMMA' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'ASSIGN' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action '#' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action '$$' (explicit left 9990):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MINUS' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 389:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'STAR' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'TYPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'EQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'STAR' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'ARROW' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'VAL' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'OVER' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'BRAGT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LTKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'BRALT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'GTKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'HASH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'DO' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'INJECT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'EJECT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'IMPLIES' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'DATATYPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'DATA' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'FORALL' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'BOTTOM' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'REC' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'IN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'IF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'THEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'ELSE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'FUN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'MATCH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'WHEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'WITH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'FUNCTION' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'OF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'OPEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'WHERE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'QUESTION' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'PLUS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'MINUS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SLASH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'PLUSDOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'MOD' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'NEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'GT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'GEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'AND' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'NOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'PIPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'AMP' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'BANG' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'COLONGT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'DOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'COMMA' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'ASSIGN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action '#' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
    action '$$' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'STAR' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 390:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'SLASH' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'TYPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'EQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'STAR' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'ARROW' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'VAL' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'OVER' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'BRAGT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LTKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'BRALT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'GTKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'HASH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'DO' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'INJECT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'EJECT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'IMPLIES' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'DATATYPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'DATA' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'FORALL' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'BOTTOM' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'REC' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'IN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'IF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'THEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'ELSE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'FUN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'MATCH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'WHEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'WITH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'FUNCTION' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'OF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'OPEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'WHERE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'QUESTION' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'PLUS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'MINUS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SLASH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'PLUSDOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'MOD' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'NEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'GT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'GEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'AND' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'NOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'PIPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'AMP' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'BANG' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'COLONGT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'DOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'COMMA' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'ASSIGN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action '#' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action '$$' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'SLASH' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 391:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'MOD' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'TYPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'EQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'STAR' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'ARROW' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'VAL' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'OVER' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'BRAGT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'LTKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'BRALT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'GTKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'HASH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'DO' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'INJECT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'EJECT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'IMPLIES' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'DATATYPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'DATA' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'FORALL' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'BOTTOM' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'LET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'REC' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'IN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'IF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'THEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'ELSE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'FUN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'MATCH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'WHEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'WITH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'FUNCTION' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'OF' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'OPEN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'WHERE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'QUESTION' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'PLUS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'MINUS' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'SLASH' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'PLUSDOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'MOD' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'NEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'LT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'GT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'LEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'GEQ' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'AND' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'NOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'PIPE' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'AMP' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'BANG' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'COLONGT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'DOT' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'COMMA' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'ASSIGN' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action '#' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
    action '$$' (explicit left 9992):   reduce expr_tuple_atom_ --> expr_tuple_atom 'MOD' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 392:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> 'NOT' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'TYPE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'EQ' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'STAR' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'ARROW' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'VAL' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'OVER' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'BRAGT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'LTKET' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'BRALT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'GTKET' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'HASH' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'DO' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'INJECT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'EJECT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'IMPLIES' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'DATATYPE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'DATA' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'FORALL' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'BOTTOM' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'LET' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'REC' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'IN' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'IF' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'THEN' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'ELSE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'FUN' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'MATCH' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'WHEN' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'WITH' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'FUNCTION' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'OF' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'NAMESPACE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'OPEN' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'WHERE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'OVERLOAD' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'DOUBLEAMP' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'UNDERSCORE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'BACKSLASH' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'KIND' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'QUESTION' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'PLUS' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'MINUS' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'SLASH' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'PLUSDOT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'MINUSDOT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'MOD' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'NEQ' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'LT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'GT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'LEQ' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'GEQ' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'AND' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'NOT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'PIPE' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'AMP' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'BANG' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'COLONGT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'SEMICOLON' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'DOT' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'COMMA' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'ASSIGN' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action '#' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
    action '$$' (explicit nonassoc 9997):   reduce expr_tuple_atom_ --> 'NOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 393:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'EQ' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'TYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'EQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'VAL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'OVER' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'BRAGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'BRALT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'GTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'HASH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'DO' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'INJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'EJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'IMPLIES' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'DATATYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'DATA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'FORALL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'BOTTOM' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'REC' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'IN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'IF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'THEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'ELSE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'FUN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'MATCH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'WHEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'WITH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'FUNCTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'OF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'OPEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'WHERE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'QUESTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'GT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'GEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'AND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'NOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'PIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'AMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'BANG' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'COLONGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'DOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'COMMA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'ASSIGN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action '#' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
    action '$$' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'EQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 394:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'NEQ' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'TYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'EQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'VAL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'OVER' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'BRAGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'BRALT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'GTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'HASH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'DO' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'INJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'EJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'IMPLIES' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'DATATYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'DATA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'FORALL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'BOTTOM' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'REC' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'IN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'IF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'THEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'ELSE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'FUN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'MATCH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'WHEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'WITH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'FUNCTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'OF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'OPEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'WHERE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'QUESTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'GT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'GEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'AND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'NOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'PIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'AMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'BANG' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'COLONGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'DOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'COMMA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'ASSIGN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action '#' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action '$$' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'NEQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 395:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'LT' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'TYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'EQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'VAL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'OVER' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'BRAGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'BRALT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'GTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'HASH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'DO' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'INJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'EJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'IMPLIES' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'DATATYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'DATA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'FORALL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'BOTTOM' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'REC' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'IN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'IF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'THEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'ELSE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'FUN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'MATCH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'WHEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'WITH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'FUNCTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'OF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'OPEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'WHERE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'QUESTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'GT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'GEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'AND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'NOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'PIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'AMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'BANG' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'COLONGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'DOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'COMMA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'ASSIGN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action '#' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
    action '$$' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LT' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 396:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'GT' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'TYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'EQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'VAL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'OVER' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'BRAGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'BRALT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'GTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'HASH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'DO' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'INJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'EJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'IMPLIES' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'DATATYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'DATA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'FORALL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'BOTTOM' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'REC' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'IN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'IF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'THEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'ELSE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'FUN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'MATCH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'WHEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'WITH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'FUNCTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'OF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'OPEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'WHERE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'QUESTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'GT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'GEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'AND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'NOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'PIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'AMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'BANG' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'COLONGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'DOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'COMMA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'ASSIGN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action '#' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
    action '$$' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GT' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 397:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'LEQ' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'TYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'EQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'VAL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'OVER' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'BRAGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'BRALT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'GTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'HASH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'DO' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'INJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'EJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'IMPLIES' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'DATATYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'DATA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'FORALL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'BOTTOM' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'REC' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'IN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'IF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'THEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'ELSE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'FUN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'MATCH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'WHEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'WITH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'FUNCTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'OF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'OPEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'WHERE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'QUESTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'GT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'GEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'AND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'NOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'PIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'AMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'BANG' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'COLONGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'DOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'COMMA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'ASSIGN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action '#' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action '$$' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'LEQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 398:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'GEQ' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'TYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'EQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'VAL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'OVER' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'BRAGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'BRALT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'GTKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'HASH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'DO' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'INJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'EJECT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'IMPLIES' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'DATATYPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'DATA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'FORALL' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'BOTTOM' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'REC' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'IN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'IF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'THEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'ELSE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'FUN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'MATCH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'WHEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'WITH' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'FUNCTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'OF' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'OPEN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'WHERE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'QUESTION' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'GT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'GEQ' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'AND' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'NOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'PIPE' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'AMP' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'BANG' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'COLONGT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'SEMICOLON' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'DOT' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'COMMA' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'ASSIGN' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action '#' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action '$$' (explicit left 9989):   reduce expr_tuple_atom_ --> expr_tuple_atom 'GEQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 399:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'TYPE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'VAL' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'OVER' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'BRAGT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'LTKET' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'BRALT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'GTKET' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'HASH' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'DO' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'INJECT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'EJECT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'IMPLIES' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'DATATYPE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'DATA' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'FORALL' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'BOTTOM' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'LET' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'REC' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'IN' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'IF' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'THEN' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'ELSE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'FUN' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'MATCH' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'WHEN' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'WITH' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'FUNCTION' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'OF' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'OPEN' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'WHERE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'QUESTION' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'NOT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'PIPE' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'AMP' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'BANG' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'COLONGT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'DOT' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'COMMA' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'ASSIGN' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action '#' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
    action '$$' (explicit left 9987):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEAMP' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 400:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom . 
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'TYPE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'VAL' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'OVER' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'BRAGT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'LTKET' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'BRALT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'GTKET' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'HASH' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'DO' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'INJECT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'EJECT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'IMPLIES' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'DATATYPE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'DATA' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'FORALL' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'BOTTOM' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'LET' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'REC' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'IN' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'IF' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'THEN' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'ELSE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'FUN' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'MATCH' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'WHEN' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'WITH' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'FUNCTION' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'OF' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'NAMESPACE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'OPEN' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'WHERE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'OVERLOAD' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'DOUBLEAMP' (explicit left 9987):   shift 437
    action 'DOUBLEPIPE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'UNDERSCORE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'QUESTION' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'MINUSDOT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'NOT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'PIPE' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'AMP' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'BANG' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'COLONGT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'DOT' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'COMMA' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'ASSIGN' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action '#' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
    action '$$' (explicit left 9986):   reduce expr_tuple_atom_ --> expr_tuple_atom 'DOUBLEPIPE' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 401:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom 'COLON2' expr_tuple_atom . 
  actions:    action 'EOF' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'TYPE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'VAL' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'OVER' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'BRAGT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'LTKET' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'BRALT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'GTKET' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'HASH' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'DO' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'INJECT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'EJECT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'IMPLIES' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'DATATYPE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'DATA' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'FORALL' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'BOTTOM' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'LET' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'REC' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'IN' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'IF' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'THEN' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'ELSE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'FUN' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'MATCH' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'WHEN' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'WITH' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'FUNCTION' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'OF' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'NAMESPACE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'OPEN' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'WHERE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'OVERLOAD' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'DOUBLEAMP' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'DOUBLEPIPE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'UNDERSCORE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'QUESTION' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'MINUSDOT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'NOT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'PIPE' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'AMP' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'BANG' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'COLONGT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'SEMICOLON2' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'DOT' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'COMMA' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'ASSIGN' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action '#' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
    action '$$' (explicit right 9988):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON2' expr_tuple_atom
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 402:  items:    expr_tuple_atom_ -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON' fxty_expr
    expr_tuple_atom_ -> expr_tuple_atom . 'BACKSLASH' id
    expr_tuple_atom_ -> expr_tuple_atom . 'INFIX' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'MOD' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEAMP' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'DOUBLEPIPE' expr_tuple_atom
    expr_tuple_atom_ -> expr_tuple_atom . 'COLON2' expr_tuple_atom
    expr_app_atom_ -> 'BRA' symbol expr_tuple_atom . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 425
    action 'STAR' (explicit left 9992):   shift 418
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (explicit left 9987):   shift 437
    action 'DOUBLEPIPE' (explicit left 9986):   shift 439
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (explicit left 9993):   shift 406
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   shift 451
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (explicit left 9990):   shift 414
    action 'MINUS' (explicit left 9990):   shift 416
    action 'SLASH' (explicit left 9992):   shift 420
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (explicit left 9992):   shift 422
    action 'NEQ' (explicit left 9989):   shift 427
    action 'LT' (explicit left 9989):   shift 429
    action 'GT' (explicit left 9989):   shift 431
    action 'LEQ' (explicit left 9989):   shift 433
    action 'GEQ' (explicit left 9989):   shift 435
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   shift 404
    action 'COLON2' (explicit right 9988):   shift 441
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 412
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 403
    goto expr_app_atom_: 340
    goto lit: 447
state 403:  items:    expr_tuple_atom_ -> expr_tuple_atom expr_app_atom . 
    expr_app_atom_ -> expr_app_atom . 'HASH'
    expr_app_atom_ -> expr_app_atom . 'DOT' id
  actions:    action 'EOF' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'TYPE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'EQ' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'STAR' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'ARROW' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'VAL' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'OVER' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BRAGT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'LTKET' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BRALT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'GTKET' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'HASH' (noprec):   shift 456
    action 'DO' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'INJECT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'EJECT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'IMPLIES' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'DATATYPE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'DATA' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'FORALL' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BOTTOM' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'LET' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'REC' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'IN' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'IF' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'THEN' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'ELSE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'FUN' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'MATCH' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'WHEN' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'WITH' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'FUNCTION' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'TRUE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'FALSE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'AS' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'OF' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'NAMESPACE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'OPEN' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'WHERE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'OVERLOAD' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'DOUBLEAMP' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'DOUBLEPIPE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'UNDERSCORE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BACKSLASH' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'KIND' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'QUESTION' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BRA' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'KET' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'CURBRA' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'CURKET' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'SQBRA' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'SQKET' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'PLUS' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'MINUS' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'SLASH' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'PLUSDOT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'MINUSDOT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'MOD' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'NEQ' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'LT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'GT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'LEQ' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'GEQ' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'AND' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'NOT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'PIPE' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'AMP' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BANG' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'COLONGT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'COLON' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'COLON2' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'SEMICOLON' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'DOT' (noprec):   shift 457
    action 'COMMA' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'ASSIGN' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'STRING' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'UID' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'LID' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'INFIX' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'TICK_ID' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'BACKTICK_ID' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'AT_ID' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'CHAR' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'FLOAT' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'INT32' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'AT_INT32' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action 'error' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action '#' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
    action '$$' (explicit left 9996):   reduce expr_tuple_atom_ --> expr_tuple_atom expr_app_atom
  immediate action: <none>  gotos:state 404:  items:    expr_tuple_atom_ -> expr_tuple_atom 'COLON' . fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 405
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 405:  items:    expr_tuple_atom_ -> expr_tuple_atom 'COLON' fxty_expr . 
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'TYPE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'EQ' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'STAR' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'ARROW' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'VAL' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'OVER' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BRAGT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'LTKET' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BRALT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'GTKET' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'HASH' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'DO' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'INJECT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'EJECT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'IMPLIES' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'DATATYPE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'DATA' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'FORALL' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BOTTOM' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'LET' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'REC' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'IN' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'IF' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'THEN' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'ELSE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'FUN' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'MATCH' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'WHEN' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'WITH' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'FUNCTION' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'TRUE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'FALSE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'AS' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'OF' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'NAMESPACE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'OPEN' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'WHERE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'OVERLOAD' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'DOUBLEAMP' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'DOUBLEPIPE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'UNDERSCORE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BACKSLASH' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'KIND' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'QUESTION' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BRA' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'KET' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'CURBRA' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'CURKET' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'SQBRA' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'SQKET' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'PLUS' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'MINUS' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'SLASH' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'PLUSDOT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'MINUSDOT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'MOD' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'NEQ' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'LT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'GT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'LEQ' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'GEQ' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'AND' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'NOT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'PIPE' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'AMP' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BANG' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'COLONGT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'COLON' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'COLON2' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'SEMICOLON' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'DOT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'COMMA' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'ASSIGN' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'STRING' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'UID' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'LID' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'INFIX' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'TICK_ID' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'BACKTICK_ID' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'AT_ID' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'CHAR' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'FLOAT' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'INT32' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'AT_INT32' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action 'error' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action '#' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
    action '$$' (noprec):   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr
  immediate action:   reduce expr_tuple_atom_ --> expr_tuple_atom 'COLON' fxty_expr  gotos:state 406:  items:    expr_tuple_atom_ -> expr_tuple_atom 'BACKSLASH' . id
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 407
state 407:  items:    expr_tuple_atom_ -> expr_tuple_atom 'BACKSLASH' id . 
  actions:    action 'EOF' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'TYPE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'EQ' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'STAR' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'ARROW' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'VAL' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'OVER' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BRAGT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'LTKET' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BRALT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'GTKET' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'HASH' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'DO' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'INJECT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'EJECT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'IMPLIES' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'DATATYPE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'DATA' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'FORALL' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BOTTOM' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'LET' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'REC' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'IN' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'IF' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'THEN' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'ELSE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'FUN' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'MATCH' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'WHEN' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'WITH' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'FUNCTION' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'TRUE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'FALSE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'AS' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'OF' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'NAMESPACE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'OPEN' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'WHERE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'OVERLOAD' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'DOUBLEAMP' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'DOUBLEPIPE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'UNDERSCORE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BACKSLASH' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'KIND' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'QUESTION' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BRA' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'KET' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'CURBRA' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'CURKET' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'SQBRA' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'SQKET' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'PLUS' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'MINUS' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'SLASH' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'PLUSDOT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'MINUSDOT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'MOD' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'NEQ' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'LT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'GT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'LEQ' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'GEQ' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'AND' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'NOT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'PIPE' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'AMP' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BANG' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'COLONGT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'COLON' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'COLON2' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'SEMICOLON' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'SEMICOLON2' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'DOT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'COMMA' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'ASSIGN' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'STRING' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'UID' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'LID' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'INFIX' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'TICK_ID' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'BACKTICK_ID' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'AT_ID' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'CHAR' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'FLOAT' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'INT32' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'AT_INT32' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action 'error' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action '#' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
    action '$$' (explicit left 9993):   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id
  immediate action:   reduce expr_tuple_atom_ --> expr_tuple_atom 'BACKSLASH' id  gotos:state 408:  items:    expr_tuple_atom_ -> 'INJECT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 383
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 409:  items:    expr_tuple_atom_ -> 'EJECT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 384
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 410:  items:    expr_tuple_atom_ -> 'MINUS' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 385
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 411:  items:    expr_tuple_atom_ -> 'MINUS' . expr_tuple_atom
    symbol -> 'MINUS' . 
  actions:    action 'EOF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TYPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'EQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'STAR' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ARROW' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'VAL' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OVER' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRAGT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LTKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRALT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GTKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'HASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DO' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DATATYPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DATA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FORALL' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BOTTOM' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'REC' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'THEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ELSE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FUN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MATCH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WHEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WITH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FUNCTION' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NAMESPACE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OPEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WHERE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OVERLOAD' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOUBLEAMP' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOUBLEPIPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'UNDERSCORE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BACKSLASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'KIND' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'QUESTION' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PLUS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MINUS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SLASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PLUSDOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MINUSDOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MOD' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AND' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AMP' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BANG' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLONGT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLON' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLON2' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SEMICOLON' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SEMICOLON2' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COMMA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ASSIGN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9990):   reduce symbol --> 'MINUS'
    action '#' (explicit left 9990):   reduce symbol --> 'MINUS'
    action '$$' (explicit left 9990):   reduce symbol --> 'MINUS'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 385
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 412:  items:    expr_tuple_atom_ -> expr_tuple_atom 'INFIX' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 386
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 413:  items:    expr_tuple_atom_ -> expr_tuple_atom 'INFIX' . expr_tuple_atom
    symbol -> 'INFIX' . 
  actions:    action 'EOF' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'TYPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'EQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'STAR' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'ARROW' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'VAL' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OVER' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BRAGT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LTKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BRALT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'GTKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'HASH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DO' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DATATYPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DATA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FORALL' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BOTTOM' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'REC' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'IN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'IF' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'THEN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'ELSE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FUN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MATCH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'WHEN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'WITH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FUNCTION' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OF' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'NAMESPACE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OPEN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'WHERE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OVERLOAD' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DOUBLEAMP' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DOUBLEPIPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'UNDERSCORE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BACKSLASH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'KIND' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'QUESTION' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'PLUS' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'PLUSDOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MINUSDOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MOD' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'NEQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'GT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LEQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'GEQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AND' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AMP' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BANG' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COLONGT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COLON' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COLON2' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SEMICOLON' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SEMICOLON2' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COMMA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'ASSIGN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9991):   reduce symbol --> 'INFIX'
    action '#' (explicit left 9991):   reduce symbol --> 'INFIX'
    action '$$' (explicit left 9991):   reduce symbol --> 'INFIX'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 386
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 414:  items:    expr_tuple_atom_ -> expr_tuple_atom 'PLUS' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 387
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 415:  items:    expr_tuple_atom_ -> expr_tuple_atom 'PLUS' . expr_tuple_atom
    symbol -> 'PLUS' . 
  actions:    action 'EOF' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'TYPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'EQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'STAR' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'ARROW' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'VAL' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OVER' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BRAGT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LTKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BRALT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'GTKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'HASH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DO' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DATATYPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DATA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FORALL' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BOTTOM' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'REC' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'IN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'IF' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'THEN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'ELSE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FUN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MATCH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'WHEN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'WITH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FUNCTION' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OF' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'NAMESPACE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OPEN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'WHERE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OVERLOAD' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DOUBLEAMP' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DOUBLEPIPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'UNDERSCORE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BACKSLASH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'KIND' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'QUESTION' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'PLUS' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'PLUSDOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MINUSDOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MOD' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'NEQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'GT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LEQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'GEQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AND' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AMP' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BANG' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COLONGT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COLON' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COLON2' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SEMICOLON' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SEMICOLON2' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COMMA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'ASSIGN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9990):   reduce symbol --> 'PLUS'
    action '#' (explicit left 9990):   reduce symbol --> 'PLUS'
    action '$$' (explicit left 9990):   reduce symbol --> 'PLUS'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 387
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 416:  items:    expr_tuple_atom_ -> expr_tuple_atom 'MINUS' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 388
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 417:  items:    expr_tuple_atom_ -> expr_tuple_atom 'MINUS' . expr_tuple_atom
    symbol -> 'MINUS' . 
  actions:    action 'EOF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TYPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'EQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'STAR' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ARROW' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'VAL' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OVER' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRAGT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LTKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRALT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GTKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'HASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DO' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DATATYPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DATA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FORALL' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BOTTOM' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'REC' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'THEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ELSE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FUN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MATCH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WHEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WITH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FUNCTION' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NAMESPACE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OPEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WHERE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OVERLOAD' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOUBLEAMP' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOUBLEPIPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'UNDERSCORE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BACKSLASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'KIND' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'QUESTION' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PLUS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PLUSDOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MINUSDOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MOD' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AND' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AMP' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BANG' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLONGT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLON' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLON2' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SEMICOLON' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SEMICOLON2' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COMMA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ASSIGN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9990):   reduce symbol --> 'MINUS'
    action '#' (explicit left 9990):   reduce symbol --> 'MINUS'
    action '$$' (explicit left 9990):   reduce symbol --> 'MINUS'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 388
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 418:  items:    expr_tuple_atom_ -> expr_tuple_atom 'STAR' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 389
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 419:  items:    expr_tuple_atom_ -> expr_tuple_atom 'STAR' . expr_tuple_atom
    symbol -> 'STAR' . 
  actions:    action 'EOF' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'TYPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'EQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'STAR' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'ARROW' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'VAL' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OVER' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BRAGT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LTKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BRALT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'GTKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'HASH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DO' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DATATYPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DATA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FORALL' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BOTTOM' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'REC' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'IN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'IF' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'THEN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'ELSE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FUN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MATCH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'WHEN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'WITH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FUNCTION' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OF' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'NAMESPACE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OPEN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'WHERE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OVERLOAD' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DOUBLEAMP' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'UNDERSCORE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BACKSLASH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'KIND' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'QUESTION' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'PLUS' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'PLUSDOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MINUSDOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MOD' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'NEQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'GT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LEQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'GEQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AND' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AMP' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BANG' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COLONGT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COLON' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COLON2' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SEMICOLON' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SEMICOLON2' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COMMA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'ASSIGN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9992):   reduce symbol --> 'STAR'
    action '#' (explicit left 9992):   reduce symbol --> 'STAR'
    action '$$' (explicit left 9992):   reduce symbol --> 'STAR'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 389
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 420:  items:    expr_tuple_atom_ -> expr_tuple_atom 'SLASH' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 390
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 421:  items:    expr_tuple_atom_ -> expr_tuple_atom 'SLASH' . expr_tuple_atom
    symbol -> 'SLASH' . 
  actions:    action 'EOF' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'TYPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'EQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'STAR' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'ARROW' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'VAL' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OVER' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BRAGT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LTKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BRALT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'GTKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'HASH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DO' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DATATYPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DATA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FORALL' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BOTTOM' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'REC' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'IN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'IF' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'THEN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'ELSE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FUN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MATCH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'WHEN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'WITH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FUNCTION' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OF' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'NAMESPACE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OPEN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'WHERE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OVERLOAD' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DOUBLEAMP' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'UNDERSCORE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BACKSLASH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'KIND' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'QUESTION' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'PLUS' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'PLUSDOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MINUSDOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MOD' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'NEQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'GT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LEQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'GEQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AND' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AMP' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BANG' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COLONGT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COLON' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COLON2' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SEMICOLON' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SEMICOLON2' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COMMA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'ASSIGN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9992):   reduce symbol --> 'SLASH'
    action '#' (explicit left 9992):   reduce symbol --> 'SLASH'
    action '$$' (explicit left 9992):   reduce symbol --> 'SLASH'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 390
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 422:  items:    expr_tuple_atom_ -> expr_tuple_atom 'MOD' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 391
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 423:  items:    expr_tuple_atom_ -> expr_tuple_atom 'MOD' . expr_tuple_atom
    symbol -> 'MOD' . 
  actions:    action 'EOF' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'TYPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'EQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'STAR' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'ARROW' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'VAL' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OVER' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BRAGT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LTKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BRALT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'GTKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'HASH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DO' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DATATYPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DATA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FORALL' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BOTTOM' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'REC' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'IN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'IF' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'THEN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'ELSE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FUN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MATCH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'WHEN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'WITH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FUNCTION' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OF' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'NAMESPACE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OPEN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'WHERE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OVERLOAD' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DOUBLEAMP' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'UNDERSCORE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BACKSLASH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'KIND' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'QUESTION' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'PLUS' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'PLUSDOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MINUSDOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MOD' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'NEQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'GT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LEQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'GEQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AND' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AMP' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BANG' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COLONGT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COLON' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COLON2' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SEMICOLON' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SEMICOLON2' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COMMA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'ASSIGN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9992):   reduce symbol --> 'MOD'
    action '#' (explicit left 9992):   reduce symbol --> 'MOD'
    action '$$' (explicit left 9992):   reduce symbol --> 'MOD'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 391
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 424:  items:    expr_tuple_atom_ -> 'NOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 392
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 425:  items:    expr_tuple_atom_ -> expr_tuple_atom 'EQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 393
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 426:  items:    expr_tuple_atom_ -> expr_tuple_atom 'EQ' . expr_tuple_atom
    symbol -> 'EQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce symbol --> 'EQ'
    action '#' (explicit left 9989):   reduce symbol --> 'EQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'EQ'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 393
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 427:  items:    expr_tuple_atom_ -> expr_tuple_atom 'NEQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 394
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 428:  items:    expr_tuple_atom_ -> expr_tuple_atom 'NEQ' . expr_tuple_atom
    symbol -> 'NEQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce symbol --> 'NEQ'
    action '#' (explicit left 9989):   reduce symbol --> 'NEQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'NEQ'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 394
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 429:  items:    expr_tuple_atom_ -> expr_tuple_atom 'LT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 395
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 430:  items:    expr_tuple_atom_ -> expr_tuple_atom 'LT' . expr_tuple_atom
    symbol -> 'LT' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'LT'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'LT'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'LT'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DO' (explicit left 9989):   reduce symbol --> 'LT'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'REC' (explicit left 9989):   reduce symbol --> 'LT'
    action 'IN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'IF' (explicit left 9989):   reduce symbol --> 'LT'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'LT'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OF' (explicit left 9989):   reduce symbol --> 'LT'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'LT'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'LT'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'GT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AND' (explicit left 9989):   reduce symbol --> 'LT'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'LT'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce symbol --> 'LT'
    action '#' (explicit left 9989):   reduce symbol --> 'LT'
    action '$$' (explicit left 9989):   reduce symbol --> 'LT'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 395
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 431:  items:    expr_tuple_atom_ -> expr_tuple_atom 'GT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 396
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 432:  items:    expr_tuple_atom_ -> expr_tuple_atom 'GT' . expr_tuple_atom
    symbol -> 'GT' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'GT'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'GT'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'GT'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DO' (explicit left 9989):   reduce symbol --> 'GT'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'REC' (explicit left 9989):   reduce symbol --> 'GT'
    action 'IN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'IF' (explicit left 9989):   reduce symbol --> 'GT'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'GT'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OF' (explicit left 9989):   reduce symbol --> 'GT'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'GT'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'GT'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'GT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AND' (explicit left 9989):   reduce symbol --> 'GT'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'GT'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce symbol --> 'GT'
    action '#' (explicit left 9989):   reduce symbol --> 'GT'
    action '$$' (explicit left 9989):   reduce symbol --> 'GT'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 396
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 433:  items:    expr_tuple_atom_ -> expr_tuple_atom 'LEQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 397
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 434:  items:    expr_tuple_atom_ -> expr_tuple_atom 'LEQ' . expr_tuple_atom
    symbol -> 'LEQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce symbol --> 'LEQ'
    action '#' (explicit left 9989):   reduce symbol --> 'LEQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'LEQ'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 397
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 435:  items:    expr_tuple_atom_ -> expr_tuple_atom 'GEQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 398
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 436:  items:    expr_tuple_atom_ -> expr_tuple_atom 'GEQ' . expr_tuple_atom
    symbol -> 'GEQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9989):   reduce symbol --> 'GEQ'
    action '#' (explicit left 9989):   reduce symbol --> 'GEQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'GEQ'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 398
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 437:  items:    expr_tuple_atom_ -> expr_tuple_atom 'DOUBLEAMP' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 399
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 438:  items:    expr_tuple_atom_ -> expr_tuple_atom 'DOUBLEAMP' . expr_tuple_atom
    symbol -> 'DOUBLEAMP' . 
  actions:    action 'EOF' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'TYPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'EQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'STAR' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'ARROW' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'VAL' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OVER' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BRAGT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LTKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BRALT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'GTKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'HASH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DO' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DATATYPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DATA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FORALL' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BOTTOM' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'REC' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'IN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'IF' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'THEN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'ELSE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FUN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MATCH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'WHEN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'WITH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FUNCTION' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OF' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'NAMESPACE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OPEN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'WHERE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OVERLOAD' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DOUBLEAMP' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DOUBLEPIPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'UNDERSCORE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BACKSLASH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'KIND' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'QUESTION' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'PLUS' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'PLUSDOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MINUSDOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MOD' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'NEQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'GT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LEQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'GEQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AND' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AMP' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BANG' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COLONGT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COLON' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COLON2' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SEMICOLON' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SEMICOLON2' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COMMA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'ASSIGN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action '#' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action '$$' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 399
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 439:  items:    expr_tuple_atom_ -> expr_tuple_atom 'DOUBLEPIPE' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 400
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 440:  items:    expr_tuple_atom_ -> expr_tuple_atom 'DOUBLEPIPE' . expr_tuple_atom
    symbol -> 'DOUBLEPIPE' . 
  actions:    action 'EOF' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'TYPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'EQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'STAR' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'ARROW' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'VAL' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OVER' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BRAGT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LTKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BRALT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'GTKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'HASH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DO' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DATATYPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DATA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FORALL' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BOTTOM' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'REC' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'IN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'IF' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'THEN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'ELSE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FUN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MATCH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'WHEN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'WITH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FUNCTION' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OF' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'NAMESPACE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OPEN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'WHERE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OVERLOAD' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DOUBLEAMP' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DOUBLEPIPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'UNDERSCORE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BACKSLASH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'KIND' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'QUESTION' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BRA' (noprec):   shift 448
    action 'KET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'PLUS' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'PLUSDOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MINUSDOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MOD' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'NEQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'GT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LEQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'GEQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AND' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AMP' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BANG' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COLONGT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COLON' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COLON2' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SEMICOLON' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SEMICOLON2' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COMMA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'ASSIGN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action '#' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action '$$' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 400
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 441:  items:    expr_tuple_atom_ -> expr_tuple_atom 'COLON2' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 401
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 442:  items:    expr_app_atom_ -> id . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> id
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> id
    action 'EQ' (noprec):   reduce expr_app_atom_ --> id
    action 'STAR' (noprec):   reduce expr_app_atom_ --> id
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> id
    action 'VAL' (noprec):   reduce expr_app_atom_ --> id
    action 'OVER' (noprec):   reduce expr_app_atom_ --> id
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> id
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> id
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> id
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> id
    action 'HASH' (noprec):   reduce expr_app_atom_ --> id
    action 'DO' (noprec):   reduce expr_app_atom_ --> id
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> id
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> id
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> id
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> id
    action 'DATA' (noprec):   reduce expr_app_atom_ --> id
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> id
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> id
    action 'LET' (noprec):   reduce expr_app_atom_ --> id
    action 'REC' (noprec):   reduce expr_app_atom_ --> id
    action 'IN' (noprec):   reduce expr_app_atom_ --> id
    action 'IF' (noprec):   reduce expr_app_atom_ --> id
    action 'THEN' (noprec):   reduce expr_app_atom_ --> id
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> id
    action 'FUN' (noprec):   reduce expr_app_atom_ --> id
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> id
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> id
    action 'WITH' (noprec):   reduce expr_app_atom_ --> id
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> id
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> id
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> id
    action 'AS' (noprec):   reduce expr_app_atom_ --> id
    action 'OF' (noprec):   reduce expr_app_atom_ --> id
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> id
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> id
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> id
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> id
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> id
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> id
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> id
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> id
    action 'KIND' (noprec):   reduce expr_app_atom_ --> id
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> id
    action 'BRA' (noprec):   reduce expr_app_atom_ --> id
    action 'KET' (noprec):   reduce expr_app_atom_ --> id
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> id
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> id
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> id
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> id
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> id
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> id
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> id
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> id
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> id
    action 'MOD' (noprec):   reduce expr_app_atom_ --> id
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> id
    action 'LT' (noprec):   reduce expr_app_atom_ --> id
    action 'GT' (noprec):   reduce expr_app_atom_ --> id
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> id
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> id
    action 'AND' (noprec):   reduce expr_app_atom_ --> id
    action 'NOT' (noprec):   reduce expr_app_atom_ --> id
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> id
    action 'AMP' (noprec):   reduce expr_app_atom_ --> id
    action 'BANG' (noprec):   reduce expr_app_atom_ --> id
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> id
    action 'COLON' (noprec):   reduce expr_app_atom_ --> id
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> id
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> id
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> id
    action 'DOT' (noprec):   reduce expr_app_atom_ --> id
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> id
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> id
    action 'STRING' (noprec):   reduce expr_app_atom_ --> id
    action 'UID' (noprec):   reduce expr_app_atom_ --> id
    action 'LID' (noprec):   reduce expr_app_atom_ --> id
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> id
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> id
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> id
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> id
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> id
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> id
    action 'INT32' (noprec):   reduce expr_app_atom_ --> id
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> id
    action 'error' (noprec):   reduce expr_app_atom_ --> id
    action '#' (noprec):   reduce expr_app_atom_ --> id
    action '$$' (noprec):   reduce expr_app_atom_ --> id
  immediate action:   reduce expr_app_atom_ --> id  gotos:state 443:  items:    expr_app_atom_ -> 'TICK_ID' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action '#' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'TICK_ID'
  immediate action:   reduce expr_app_atom_ --> 'TICK_ID'  gotos:state 444:  items:    expr_app_atom_ -> 'BACKTICK_ID' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action '#' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'BACKTICK_ID'
  immediate action:   reduce expr_app_atom_ --> 'BACKTICK_ID'  gotos:state 445:  items:    expr_app_atom_ -> 'AT_ID' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action '#' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'AT_ID'
  immediate action:   reduce expr_app_atom_ --> 'AT_ID'  gotos:state 446:  items:    expr_app_atom_ -> 'AT_INT32' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action '#' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'AT_INT32'
  immediate action:   reduce expr_app_atom_ --> 'AT_INT32'  gotos:state 447:  items:    expr_app_atom_ -> lit . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> lit
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> lit
    action 'EQ' (noprec):   reduce expr_app_atom_ --> lit
    action 'STAR' (noprec):   reduce expr_app_atom_ --> lit
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> lit
    action 'VAL' (noprec):   reduce expr_app_atom_ --> lit
    action 'OVER' (noprec):   reduce expr_app_atom_ --> lit
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> lit
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> lit
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> lit
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> lit
    action 'HASH' (noprec):   reduce expr_app_atom_ --> lit
    action 'DO' (noprec):   reduce expr_app_atom_ --> lit
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> lit
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> lit
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> lit
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> lit
    action 'DATA' (noprec):   reduce expr_app_atom_ --> lit
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> lit
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> lit
    action 'LET' (noprec):   reduce expr_app_atom_ --> lit
    action 'REC' (noprec):   reduce expr_app_atom_ --> lit
    action 'IN' (noprec):   reduce expr_app_atom_ --> lit
    action 'IF' (noprec):   reduce expr_app_atom_ --> lit
    action 'THEN' (noprec):   reduce expr_app_atom_ --> lit
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> lit
    action 'FUN' (noprec):   reduce expr_app_atom_ --> lit
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> lit
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> lit
    action 'WITH' (noprec):   reduce expr_app_atom_ --> lit
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> lit
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> lit
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> lit
    action 'AS' (noprec):   reduce expr_app_atom_ --> lit
    action 'OF' (noprec):   reduce expr_app_atom_ --> lit
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> lit
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> lit
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> lit
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> lit
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> lit
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> lit
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> lit
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> lit
    action 'KIND' (noprec):   reduce expr_app_atom_ --> lit
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> lit
    action 'BRA' (noprec):   reduce expr_app_atom_ --> lit
    action 'KET' (noprec):   reduce expr_app_atom_ --> lit
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> lit
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> lit
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> lit
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> lit
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> lit
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> lit
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> lit
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> lit
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> lit
    action 'MOD' (noprec):   reduce expr_app_atom_ --> lit
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> lit
    action 'LT' (noprec):   reduce expr_app_atom_ --> lit
    action 'GT' (noprec):   reduce expr_app_atom_ --> lit
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> lit
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> lit
    action 'AND' (noprec):   reduce expr_app_atom_ --> lit
    action 'NOT' (noprec):   reduce expr_app_atom_ --> lit
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> lit
    action 'AMP' (noprec):   reduce expr_app_atom_ --> lit
    action 'BANG' (noprec):   reduce expr_app_atom_ --> lit
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> lit
    action 'COLON' (noprec):   reduce expr_app_atom_ --> lit
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> lit
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> lit
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> lit
    action 'DOT' (noprec):   reduce expr_app_atom_ --> lit
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> lit
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> lit
    action 'STRING' (noprec):   reduce expr_app_atom_ --> lit
    action 'UID' (noprec):   reduce expr_app_atom_ --> lit
    action 'LID' (noprec):   reduce expr_app_atom_ --> lit
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> lit
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> lit
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> lit
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> lit
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> lit
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> lit
    action 'INT32' (noprec):   reduce expr_app_atom_ --> lit
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> lit
    action 'error' (noprec):   reduce expr_app_atom_ --> lit
    action '#' (noprec):   reduce expr_app_atom_ --> lit
    action '$$' (noprec):   reduce expr_app_atom_ --> lit
  immediate action:   reduce expr_app_atom_ --> lit  gotos:state 448:  items:    expr_app_atom_ -> 'BRA' . symbol 'KET'
    expr_app_atom_ -> 'BRA' . symbol expr_tuple_atom 'KET'
    expr_app_atom_ -> 'BRA' . expr_tuple_atom symbol 'KET'
    expr_app_atom_ -> 'BRA' . expr 'KET'
    lit -> 'BRA' . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 508
    action 'STAR' (explicit left 9992):   shift 505
    action 'ARROW' (explicit right 9985):   shift 516
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (explicit left 9987):   shift 515
    action 'DOUBLEPIPE' (explicit left 9986):   shift 514
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   shift 525
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (explicit left 9990):   shift 503
    action 'MINUS' (explicit left 9990):   shift 411
    action 'SLASH' (explicit left 9992):   shift 506
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (explicit left 9992):   shift 507
    action 'NEQ' (explicit left 9989):   shift 509
    action 'LT' (explicit left 9989):   shift 510
    action 'GT' (explicit left 9989):   shift 511
    action 'LEQ' (explicit left 9989):   shift 512
    action 'GEQ' (explicit left 9989):   shift 513
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (explicit left 9991):   shift 517
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 454
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 372
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto symbol: 449
    goto lit: 447
state 449:  items:    expr_app_atom_ -> 'BRA' symbol . 'KET'
    expr_app_atom_ -> 'BRA' symbol . expr_tuple_atom 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   shift 450
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_app_atom: 382
    goto expr_tuple_atom: 402
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 450:  items:    expr_app_atom_ -> 'BRA' symbol 'KET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol 'KET'
  immediate action:   reduce expr_app_atom_ --> 'BRA' symbol 'KET'  gotos:state 451:  items:    expr_app_atom_ -> 'BRA' symbol expr_tuple_atom 'KET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'
  immediate action:   reduce expr_app_atom_ --> 'BRA' symbol expr_tuple_atom 'KET'  gotos:state 452:  items:    expr_app_atom_ -> 'BRA' expr_tuple_atom symbol . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 453
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 453:  items:    expr_app_atom_ -> 'BRA' expr_tuple_atom symbol 'KET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'
  immediate action:   reduce expr_app_atom_ --> 'BRA' expr_tuple_atom symbol 'KET'  gotos:state 454:  items:    expr_app_atom_ -> 'BRA' expr . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 455
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 455:  items:    expr_app_atom_ -> 'BRA' expr 'KET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'BRA' expr 'KET'
  immediate action:   reduce expr_app_atom_ --> 'BRA' expr 'KET'  gotos:state 456:  items:    expr_app_atom_ -> expr_app_atom 'HASH' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'DO' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'LET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'REC' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'IN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'IF' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'AS' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'OF' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'KET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'LT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'GT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'AND' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'UID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'LID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action 'error' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action '#' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
    action '$$' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'HASH'
  immediate action:   reduce expr_app_atom_ --> expr_app_atom 'HASH'  gotos:state 457:  items:    expr_app_atom_ -> expr_app_atom 'DOT' . id
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 458
state 458:  items:    expr_app_atom_ -> expr_app_atom 'DOT' id . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'EQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'STAR' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'VAL' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'OVER' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'HASH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'DO' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'DATA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'LET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'REC' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'IN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'IF' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'THEN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'FUN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'WITH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'AS' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'OF' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'KIND' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BRA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'KET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'MOD' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'LT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'GT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'AND' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'NOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'AMP' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BANG' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'COLON' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'DOT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'STRING' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'UID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'LID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'INT32' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action 'error' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action '#' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
    action '$$' (noprec):   reduce expr_app_atom_ --> expr_app_atom 'DOT' id
  immediate action:   reduce expr_app_atom_ --> expr_app_atom 'DOT' id  gotos:state 459:  items:    expr_app_atom_ -> 'CURBRA' . record 'CURKET'
    expr_app_atom_ -> 'CURBRA' . record 'PIPE' expr 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 528
    goto record: 460
state 460:  items:    expr_app_atom_ -> 'CURBRA' record . 'CURKET'
    expr_app_atom_ -> 'CURBRA' record . 'PIPE' expr 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 461
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 462
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 461:  items:    expr_app_atom_ -> 'CURBRA' record 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'
  immediate action:   reduce expr_app_atom_ --> 'CURBRA' record 'CURKET'  gotos:state 462:  items:    expr_app_atom_ -> 'CURBRA' record 'PIPE' . expr 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 463
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 463:  items:    expr_app_atom_ -> 'CURBRA' record 'PIPE' expr . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 464
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 464:  items:    expr_app_atom_ -> 'CURBRA' record 'PIPE' expr 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'
  immediate action:   reduce expr_app_atom_ --> 'CURBRA' record 'PIPE' expr 'CURKET'  gotos:state 465:  items:    expr_app_atom_ -> 'SQBRA' . 'SQKET'
    expr_app_atom_ -> 'SQBRA' . expr_list 'SQKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   shift 466
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 354
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmts: 526
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
    goto expr_list: 467
state 466:  items:    expr_app_atom_ -> 'SQBRA' 'SQKET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'
  immediate action:   reduce expr_app_atom_ --> 'SQBRA' 'SQKET'  gotos:state 467:  items:    expr_app_atom_ -> 'SQBRA' expr_list . 'SQKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   shift 468
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 468:  items:    expr_app_atom_ -> 'SQBRA' expr_list 'SQKET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'TYPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'EQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'STAR' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'ARROW' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'VAL' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'OVER' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BRAGT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'LTKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BRALT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'GTKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'HASH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'DO' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'INJECT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'EJECT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'IMPLIES' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'DATATYPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'DATA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'FORALL' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BOTTOM' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'LET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'REC' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'IN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'IF' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'THEN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'ELSE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'FUN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'MATCH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'WHEN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'WITH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'FUNCTION' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'TRUE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'FALSE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'AS' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'OF' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'NAMESPACE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'OPEN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'WHERE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'OVERLOAD' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'DOUBLEAMP' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'DOUBLEPIPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'UNDERSCORE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BACKSLASH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'KIND' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'QUESTION' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BRA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'KET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'CURBRA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'CURKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'SQBRA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'SQKET' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'PLUS' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'MINUS' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'SLASH' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'PLUSDOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'MINUSDOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'MOD' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'NEQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'LT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'GT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'LEQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'GEQ' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'AND' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'NOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'PIPE' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'AMP' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BANG' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'COLONGT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'COLON' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'COLON2' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'SEMICOLON' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'DOT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'COMMA' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'ASSIGN' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'STRING' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'UID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'LID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'INFIX' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'TICK_ID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'BACKTICK_ID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'AT_ID' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'CHAR' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'FLOAT' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'INT32' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'AT_INT32' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action 'error' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action '#' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
    action '$$' (noprec):   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'
  immediate action:   reduce expr_app_atom_ --> 'SQBRA' expr_list 'SQKET'  gotos:state 469:  items:    let_decls -> inner_decl . 
    let_decls -> inner_decl . 'LET' let_decls
  actions:    action 'EOF' (noprec):   reduce let_decls --> inner_decl
    action 'TYPE' (noprec):   reduce let_decls --> inner_decl
    action 'EQ' (noprec):   reduce let_decls --> inner_decl
    action 'STAR' (noprec):   reduce let_decls --> inner_decl
    action 'ARROW' (noprec):   reduce let_decls --> inner_decl
    action 'VAL' (noprec):   reduce let_decls --> inner_decl
    action 'OVER' (noprec):   reduce let_decls --> inner_decl
    action 'BRAGT' (noprec):   reduce let_decls --> inner_decl
    action 'LTKET' (noprec):   reduce let_decls --> inner_decl
    action 'BRALT' (noprec):   reduce let_decls --> inner_decl
    action 'GTKET' (noprec):   reduce let_decls --> inner_decl
    action 'HASH' (noprec):   reduce let_decls --> inner_decl
    action 'DO' (noprec):   reduce let_decls --> inner_decl
    action 'INJECT' (noprec):   reduce let_decls --> inner_decl
    action 'EJECT' (noprec):   reduce let_decls --> inner_decl
    action 'IMPLIES' (noprec):   reduce let_decls --> inner_decl
    action 'DATATYPE' (noprec):   reduce let_decls --> inner_decl
    action 'DATA' (noprec):   reduce let_decls --> inner_decl
    action 'FORALL' (noprec):   reduce let_decls --> inner_decl
    action 'BOTTOM' (noprec):   reduce let_decls --> inner_decl
    action 'LET' (noprec):   shift 470
    action 'REC' (noprec):   reduce let_decls --> inner_decl
    action 'IN' (noprec):   reduce let_decls --> inner_decl
    action 'IF' (noprec):   reduce let_decls --> inner_decl
    action 'THEN' (noprec):   reduce let_decls --> inner_decl
    action 'ELSE' (noprec):   reduce let_decls --> inner_decl
    action 'FUN' (noprec):   reduce let_decls --> inner_decl
    action 'MATCH' (noprec):   reduce let_decls --> inner_decl
    action 'WHEN' (noprec):   reduce let_decls --> inner_decl
    action 'WITH' (noprec):   reduce let_decls --> inner_decl
    action 'FUNCTION' (noprec):   reduce let_decls --> inner_decl
    action 'TRUE' (noprec):   reduce let_decls --> inner_decl
    action 'FALSE' (noprec):   reduce let_decls --> inner_decl
    action 'AS' (noprec):   reduce let_decls --> inner_decl
    action 'OF' (noprec):   reduce let_decls --> inner_decl
    action 'NAMESPACE' (noprec):   reduce let_decls --> inner_decl
    action 'OPEN' (noprec):   reduce let_decls --> inner_decl
    action 'WHERE' (noprec):   reduce let_decls --> inner_decl
    action 'OVERLOAD' (noprec):   reduce let_decls --> inner_decl
    action 'DOUBLEAMP' (noprec):   reduce let_decls --> inner_decl
    action 'DOUBLEPIPE' (noprec):   reduce let_decls --> inner_decl
    action 'UNDERSCORE' (noprec):   reduce let_decls --> inner_decl
    action 'BACKSLASH' (noprec):   reduce let_decls --> inner_decl
    action 'KIND' (noprec):   reduce let_decls --> inner_decl
    action 'QUESTION' (noprec):   reduce let_decls --> inner_decl
    action 'BRA' (noprec):   reduce let_decls --> inner_decl
    action 'KET' (noprec):   reduce let_decls --> inner_decl
    action 'CURBRA' (noprec):   reduce let_decls --> inner_decl
    action 'CURKET' (noprec):   reduce let_decls --> inner_decl
    action 'SQBRA' (noprec):   reduce let_decls --> inner_decl
    action 'SQKET' (noprec):   reduce let_decls --> inner_decl
    action 'PLUS' (noprec):   reduce let_decls --> inner_decl
    action 'MINUS' (noprec):   reduce let_decls --> inner_decl
    action 'SLASH' (noprec):   reduce let_decls --> inner_decl
    action 'PLUSDOT' (noprec):   reduce let_decls --> inner_decl
    action 'MINUSDOT' (noprec):   reduce let_decls --> inner_decl
    action 'MOD' (noprec):   reduce let_decls --> inner_decl
    action 'NEQ' (noprec):   reduce let_decls --> inner_decl
    action 'LT' (noprec):   reduce let_decls --> inner_decl
    action 'GT' (noprec):   reduce let_decls --> inner_decl
    action 'LEQ' (noprec):   reduce let_decls --> inner_decl
    action 'GEQ' (noprec):   reduce let_decls --> inner_decl
    action 'AND' (noprec):   reduce let_decls --> inner_decl
    action 'NOT' (noprec):   reduce let_decls --> inner_decl
    action 'PIPE' (noprec):   reduce let_decls --> inner_decl
    action 'AMP' (noprec):   reduce let_decls --> inner_decl
    action 'BANG' (noprec):   reduce let_decls --> inner_decl
    action 'COLONGT' (noprec):   reduce let_decls --> inner_decl
    action 'COLON' (noprec):   reduce let_decls --> inner_decl
    action 'COLON2' (noprec):   reduce let_decls --> inner_decl
    action 'SEMICOLON' (noprec):   reduce let_decls --> inner_decl
    action 'SEMICOLON2' (noprec):   reduce let_decls --> inner_decl
    action 'DOT' (noprec):   reduce let_decls --> inner_decl
    action 'COMMA' (noprec):   reduce let_decls --> inner_decl
    action 'ASSIGN' (noprec):   reduce let_decls --> inner_decl
    action 'STRING' (noprec):   reduce let_decls --> inner_decl
    action 'UID' (noprec):   reduce let_decls --> inner_decl
    action 'LID' (noprec):   reduce let_decls --> inner_decl
    action 'INFIX' (noprec):   reduce let_decls --> inner_decl
    action 'TICK_ID' (noprec):   reduce let_decls --> inner_decl
    action 'BACKTICK_ID' (noprec):   reduce let_decls --> inner_decl
    action 'AT_ID' (noprec):   reduce let_decls --> inner_decl
    action 'CHAR' (noprec):   reduce let_decls --> inner_decl
    action 'FLOAT' (noprec):   reduce let_decls --> inner_decl
    action 'INT32' (noprec):   reduce let_decls --> inner_decl
    action 'AT_INT32' (noprec):   reduce let_decls --> inner_decl
    action 'error' (noprec):   reduce let_decls --> inner_decl
    action '#' (noprec):   reduce let_decls --> inner_decl
    action '$$' (noprec):   reduce let_decls --> inner_decl
  immediate action: <none>  gotos:state 470:  items:    let_decls -> inner_decl 'LET' . let_decls
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   shift 45
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 34
    action 'OVER' (noprec):   shift 36
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   shift 49
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 67
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   shift 39
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   shift 43
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   shift 47
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto let_quals: 82
    goto nested_decl: 473
    goto nested_decl_: 38
    goto let_or_letrec_decl: 472
    goto let_or_letrec_decl_: 65
    goto let_and_bindings: 66
    goto let_binding: 69
    goto let_binding_no_qual: 81
    goto let_decls: 471
    goto inner_decl: 469
    goto lit: 568
    goto patt: 84
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 87
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 471:  items:    let_decls -> inner_decl 'LET' let_decls . 
  actions:    action 'EOF' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'TYPE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'EQ' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'STAR' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'ARROW' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'VAL' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'OVER' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BRAGT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'LTKET' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BRALT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'GTKET' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'HASH' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'DO' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'INJECT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'EJECT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'IMPLIES' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'DATATYPE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'DATA' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'FORALL' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BOTTOM' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'LET' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'REC' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'IN' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'IF' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'THEN' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'ELSE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'FUN' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'MATCH' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'WHEN' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'WITH' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'FUNCTION' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'TRUE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'FALSE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'AS' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'OF' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'NAMESPACE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'OPEN' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'WHERE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'OVERLOAD' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'DOUBLEAMP' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'DOUBLEPIPE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'UNDERSCORE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BACKSLASH' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'KIND' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'QUESTION' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BRA' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'KET' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'CURBRA' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'CURKET' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'SQBRA' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'SQKET' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'PLUS' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'MINUS' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'SLASH' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'PLUSDOT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'MINUSDOT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'MOD' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'NEQ' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'LT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'GT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'LEQ' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'GEQ' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'AND' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'NOT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'PIPE' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'AMP' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BANG' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'COLONGT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'COLON' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'COLON2' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'SEMICOLON' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'SEMICOLON2' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'DOT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'COMMA' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'ASSIGN' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'STRING' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'UID' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'LID' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'INFIX' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'TICK_ID' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'BACKTICK_ID' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'AT_ID' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'CHAR' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'FLOAT' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'INT32' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'AT_INT32' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action 'error' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action '#' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
    action '$$' (noprec):   reduce let_decls --> inner_decl 'LET' let_decls
  immediate action:   reduce let_decls --> inner_decl 'LET' let_decls  gotos:state 472:  items:    inner_decl -> let_or_letrec_decl . 
  actions:    action 'EOF' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'TYPE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'EQ' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'STAR' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'ARROW' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'VAL' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'OVER' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BRAGT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'LTKET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BRALT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'GTKET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'HASH' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'DO' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'INJECT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'EJECT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'IMPLIES' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'DATATYPE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'DATA' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'FORALL' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BOTTOM' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'LET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'REC' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'IN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'IF' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'THEN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'ELSE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'FUN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'MATCH' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'WHEN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'WITH' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'FUNCTION' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'TRUE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'FALSE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'AS' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'OF' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'NAMESPACE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'OPEN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'WHERE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'OVERLOAD' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'DOUBLEAMP' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'DOUBLEPIPE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'UNDERSCORE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BACKSLASH' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'KIND' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'QUESTION' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BRA' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'KET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'CURBRA' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'CURKET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'SQBRA' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'SQKET' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'PLUS' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'MINUS' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'SLASH' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'PLUSDOT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'MINUSDOT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'MOD' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'NEQ' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'LT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'GT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'LEQ' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'GEQ' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'AND' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'NOT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'PIPE' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'AMP' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BANG' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'COLONGT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'COLON' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'COLON2' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'SEMICOLON' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'SEMICOLON2' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'DOT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'COMMA' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'ASSIGN' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'STRING' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'UID' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'LID' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'INFIX' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'TICK_ID' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'BACKTICK_ID' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'AT_ID' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'CHAR' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'FLOAT' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'INT32' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'AT_INT32' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action 'error' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action '#' (noprec):   reduce inner_decl --> let_or_letrec_decl
    action '$$' (noprec):   reduce inner_decl --> let_or_letrec_decl
  immediate action:   reduce inner_decl --> let_or_letrec_decl  gotos:state 473:  items:    inner_decl -> nested_decl . 
  actions:    action 'EOF' (noprec):   reduce inner_decl --> nested_decl
    action 'TYPE' (noprec):   reduce inner_decl --> nested_decl
    action 'EQ' (noprec):   reduce inner_decl --> nested_decl
    action 'STAR' (noprec):   reduce inner_decl --> nested_decl
    action 'ARROW' (noprec):   reduce inner_decl --> nested_decl
    action 'VAL' (noprec):   reduce inner_decl --> nested_decl
    action 'OVER' (noprec):   reduce inner_decl --> nested_decl
    action 'BRAGT' (noprec):   reduce inner_decl --> nested_decl
    action 'LTKET' (noprec):   reduce inner_decl --> nested_decl
    action 'BRALT' (noprec):   reduce inner_decl --> nested_decl
    action 'GTKET' (noprec):   reduce inner_decl --> nested_decl
    action 'HASH' (noprec):   reduce inner_decl --> nested_decl
    action 'DO' (noprec):   reduce inner_decl --> nested_decl
    action 'INJECT' (noprec):   reduce inner_decl --> nested_decl
    action 'EJECT' (noprec):   reduce inner_decl --> nested_decl
    action 'IMPLIES' (noprec):   reduce inner_decl --> nested_decl
    action 'DATATYPE' (noprec):   reduce inner_decl --> nested_decl
    action 'DATA' (noprec):   reduce inner_decl --> nested_decl
    action 'FORALL' (noprec):   reduce inner_decl --> nested_decl
    action 'BOTTOM' (noprec):   reduce inner_decl --> nested_decl
    action 'LET' (noprec):   reduce inner_decl --> nested_decl
    action 'REC' (noprec):   reduce inner_decl --> nested_decl
    action 'IN' (noprec):   reduce inner_decl --> nested_decl
    action 'IF' (noprec):   reduce inner_decl --> nested_decl
    action 'THEN' (noprec):   reduce inner_decl --> nested_decl
    action 'ELSE' (noprec):   reduce inner_decl --> nested_decl
    action 'FUN' (noprec):   reduce inner_decl --> nested_decl
    action 'MATCH' (noprec):   reduce inner_decl --> nested_decl
    action 'WHEN' (noprec):   reduce inner_decl --> nested_decl
    action 'WITH' (noprec):   reduce inner_decl --> nested_decl
    action 'FUNCTION' (noprec):   reduce inner_decl --> nested_decl
    action 'TRUE' (noprec):   reduce inner_decl --> nested_decl
    action 'FALSE' (noprec):   reduce inner_decl --> nested_decl
    action 'AS' (noprec):   reduce inner_decl --> nested_decl
    action 'OF' (noprec):   reduce inner_decl --> nested_decl
    action 'NAMESPACE' (noprec):   reduce inner_decl --> nested_decl
    action 'OPEN' (noprec):   reduce inner_decl --> nested_decl
    action 'WHERE' (noprec):   reduce inner_decl --> nested_decl
    action 'OVERLOAD' (noprec):   reduce inner_decl --> nested_decl
    action 'DOUBLEAMP' (noprec):   reduce inner_decl --> nested_decl
    action 'DOUBLEPIPE' (noprec):   reduce inner_decl --> nested_decl
    action 'UNDERSCORE' (noprec):   reduce inner_decl --> nested_decl
    action 'BACKSLASH' (noprec):   reduce inner_decl --> nested_decl
    action 'KIND' (noprec):   reduce inner_decl --> nested_decl
    action 'QUESTION' (noprec):   reduce inner_decl --> nested_decl
    action 'BRA' (noprec):   reduce inner_decl --> nested_decl
    action 'KET' (noprec):   reduce inner_decl --> nested_decl
    action 'CURBRA' (noprec):   reduce inner_decl --> nested_decl
    action 'CURKET' (noprec):   reduce inner_decl --> nested_decl
    action 'SQBRA' (noprec):   reduce inner_decl --> nested_decl
    action 'SQKET' (noprec):   reduce inner_decl --> nested_decl
    action 'PLUS' (noprec):   reduce inner_decl --> nested_decl
    action 'MINUS' (noprec):   reduce inner_decl --> nested_decl
    action 'SLASH' (noprec):   reduce inner_decl --> nested_decl
    action 'PLUSDOT' (noprec):   reduce inner_decl --> nested_decl
    action 'MINUSDOT' (noprec):   reduce inner_decl --> nested_decl
    action 'MOD' (noprec):   reduce inner_decl --> nested_decl
    action 'NEQ' (noprec):   reduce inner_decl --> nested_decl
    action 'LT' (noprec):   reduce inner_decl --> nested_decl
    action 'GT' (noprec):   reduce inner_decl --> nested_decl
    action 'LEQ' (noprec):   reduce inner_decl --> nested_decl
    action 'GEQ' (noprec):   reduce inner_decl --> nested_decl
    action 'AND' (noprec):   reduce inner_decl --> nested_decl
    action 'NOT' (noprec):   reduce inner_decl --> nested_decl
    action 'PIPE' (noprec):   reduce inner_decl --> nested_decl
    action 'AMP' (noprec):   reduce inner_decl --> nested_decl
    action 'BANG' (noprec):   reduce inner_decl --> nested_decl
    action 'COLONGT' (noprec):   reduce inner_decl --> nested_decl
    action 'COLON' (noprec):   reduce inner_decl --> nested_decl
    action 'COLON2' (noprec):   reduce inner_decl --> nested_decl
    action 'SEMICOLON' (noprec):   reduce inner_decl --> nested_decl
    action 'SEMICOLON2' (noprec):   reduce inner_decl --> nested_decl
    action 'DOT' (noprec):   reduce inner_decl --> nested_decl
    action 'COMMA' (noprec):   reduce inner_decl --> nested_decl
    action 'ASSIGN' (noprec):   reduce inner_decl --> nested_decl
    action 'STRING' (noprec):   reduce inner_decl --> nested_decl
    action 'UID' (noprec):   reduce inner_decl --> nested_decl
    action 'LID' (noprec):   reduce inner_decl --> nested_decl
    action 'INFIX' (noprec):   reduce inner_decl --> nested_decl
    action 'TICK_ID' (noprec):   reduce inner_decl --> nested_decl
    action 'BACKTICK_ID' (noprec):   reduce inner_decl --> nested_decl
    action 'AT_ID' (noprec):   reduce inner_decl --> nested_decl
    action 'CHAR' (noprec):   reduce inner_decl --> nested_decl
    action 'FLOAT' (noprec):   reduce inner_decl --> nested_decl
    action 'INT32' (noprec):   reduce inner_decl --> nested_decl
    action 'AT_INT32' (noprec):   reduce inner_decl --> nested_decl
    action 'error' (noprec):   reduce inner_decl --> nested_decl
    action '#' (noprec):   reduce inner_decl --> nested_decl
    action '$$' (noprec):   reduce inner_decl --> nested_decl
  immediate action:   reduce inner_decl --> nested_decl  gotos:state 474:  items:    cases -> cases_ . 
  actions:    action 'EOF' (noprec):   reduce cases --> cases_
    action 'TYPE' (noprec):   reduce cases --> cases_
    action 'EQ' (noprec):   reduce cases --> cases_
    action 'STAR' (noprec):   reduce cases --> cases_
    action 'ARROW' (noprec):   reduce cases --> cases_
    action 'VAL' (noprec):   reduce cases --> cases_
    action 'OVER' (noprec):   reduce cases --> cases_
    action 'BRAGT' (noprec):   reduce cases --> cases_
    action 'LTKET' (noprec):   reduce cases --> cases_
    action 'BRALT' (noprec):   reduce cases --> cases_
    action 'GTKET' (noprec):   reduce cases --> cases_
    action 'HASH' (noprec):   reduce cases --> cases_
    action 'DO' (noprec):   reduce cases --> cases_
    action 'INJECT' (noprec):   reduce cases --> cases_
    action 'EJECT' (noprec):   reduce cases --> cases_
    action 'IMPLIES' (noprec):   reduce cases --> cases_
    action 'DATATYPE' (noprec):   reduce cases --> cases_
    action 'DATA' (noprec):   reduce cases --> cases_
    action 'FORALL' (noprec):   reduce cases --> cases_
    action 'BOTTOM' (noprec):   reduce cases --> cases_
    action 'LET' (noprec):   reduce cases --> cases_
    action 'REC' (noprec):   reduce cases --> cases_
    action 'IN' (noprec):   reduce cases --> cases_
    action 'IF' (noprec):   reduce cases --> cases_
    action 'THEN' (noprec):   reduce cases --> cases_
    action 'ELSE' (noprec):   reduce cases --> cases_
    action 'FUN' (noprec):   reduce cases --> cases_
    action 'MATCH' (noprec):   reduce cases --> cases_
    action 'WHEN' (noprec):   reduce cases --> cases_
    action 'WITH' (noprec):   reduce cases --> cases_
    action 'FUNCTION' (noprec):   reduce cases --> cases_
    action 'TRUE' (noprec):   reduce cases --> cases_
    action 'FALSE' (noprec):   reduce cases --> cases_
    action 'AS' (noprec):   reduce cases --> cases_
    action 'OF' (noprec):   reduce cases --> cases_
    action 'NAMESPACE' (noprec):   reduce cases --> cases_
    action 'OPEN' (noprec):   reduce cases --> cases_
    action 'WHERE' (noprec):   reduce cases --> cases_
    action 'OVERLOAD' (noprec):   reduce cases --> cases_
    action 'DOUBLEAMP' (noprec):   reduce cases --> cases_
    action 'DOUBLEPIPE' (noprec):   reduce cases --> cases_
    action 'UNDERSCORE' (noprec):   reduce cases --> cases_
    action 'BACKSLASH' (noprec):   reduce cases --> cases_
    action 'KIND' (noprec):   reduce cases --> cases_
    action 'QUESTION' (noprec):   reduce cases --> cases_
    action 'BRA' (noprec):   reduce cases --> cases_
    action 'KET' (noprec):   reduce cases --> cases_
    action 'CURBRA' (noprec):   reduce cases --> cases_
    action 'CURKET' (noprec):   reduce cases --> cases_
    action 'SQBRA' (noprec):   reduce cases --> cases_
    action 'SQKET' (noprec):   reduce cases --> cases_
    action 'PLUS' (noprec):   reduce cases --> cases_
    action 'MINUS' (noprec):   reduce cases --> cases_
    action 'SLASH' (noprec):   reduce cases --> cases_
    action 'PLUSDOT' (noprec):   reduce cases --> cases_
    action 'MINUSDOT' (noprec):   reduce cases --> cases_
    action 'MOD' (noprec):   reduce cases --> cases_
    action 'NEQ' (noprec):   reduce cases --> cases_
    action 'LT' (noprec):   reduce cases --> cases_
    action 'GT' (noprec):   reduce cases --> cases_
    action 'LEQ' (noprec):   reduce cases --> cases_
    action 'GEQ' (noprec):   reduce cases --> cases_
    action 'AND' (noprec):   reduce cases --> cases_
    action 'NOT' (noprec):   reduce cases --> cases_
    action 'PIPE' (noprec):   reduce cases --> cases_
    action 'AMP' (noprec):   reduce cases --> cases_
    action 'BANG' (noprec):   reduce cases --> cases_
    action 'COLONGT' (noprec):   reduce cases --> cases_
    action 'COLON' (noprec):   reduce cases --> cases_
    action 'COLON2' (noprec):   reduce cases --> cases_
    action 'SEMICOLON' (noprec):   reduce cases --> cases_
    action 'SEMICOLON2' (noprec):   reduce cases --> cases_
    action 'DOT' (noprec):   reduce cases --> cases_
    action 'COMMA' (noprec):   reduce cases --> cases_
    action 'ASSIGN' (noprec):   reduce cases --> cases_
    action 'STRING' (noprec):   reduce cases --> cases_
    action 'UID' (noprec):   reduce cases --> cases_
    action 'LID' (noprec):   reduce cases --> cases_
    action 'INFIX' (noprec):   reduce cases --> cases_
    action 'TICK_ID' (noprec):   reduce cases --> cases_
    action 'BACKTICK_ID' (noprec):   reduce cases --> cases_
    action 'AT_ID' (noprec):   reduce cases --> cases_
    action 'CHAR' (noprec):   reduce cases --> cases_
    action 'FLOAT' (noprec):   reduce cases --> cases_
    action 'INT32' (noprec):   reduce cases --> cases_
    action 'AT_INT32' (noprec):   reduce cases --> cases_
    action 'error' (noprec):   reduce cases --> cases_
    action '#' (noprec):   reduce cases --> cases_
    action '$$' (noprec):   reduce cases --> cases_
  immediate action:   reduce cases --> cases_  gotos:state 475:  items:    cases -> 'PIPE' . cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto cases_: 476
    goto case: 483
    goto lit: 568
    goto patt: 486
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 476:  items:    cases -> 'PIPE' cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'TYPE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'EQ' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'STAR' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'ARROW' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'VAL' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'OVER' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BRAGT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'LTKET' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BRALT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'GTKET' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'HASH' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'DO' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'INJECT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'EJECT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'IMPLIES' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'DATATYPE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'DATA' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'FORALL' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BOTTOM' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'LET' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'REC' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'IN' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'IF' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'THEN' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'ELSE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'FUN' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'MATCH' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'WHEN' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'WITH' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'FUNCTION' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'TRUE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'FALSE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'AS' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'OF' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'NAMESPACE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'OPEN' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'WHERE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'OVERLOAD' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BACKSLASH' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'KIND' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'QUESTION' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BRA' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'KET' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'CURBRA' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'CURKET' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'SQBRA' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'SQKET' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'PLUS' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'MINUS' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'SLASH' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'PLUSDOT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'MINUSDOT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'MOD' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'NEQ' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'LT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'GT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'LEQ' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'GEQ' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'AND' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'NOT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'PIPE' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'AMP' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BANG' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'COLONGT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'COLON' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'COLON2' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'SEMICOLON' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'DOT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'COMMA' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'ASSIGN' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'STRING' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'UID' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'LID' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'INFIX' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'TICK_ID' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'AT_ID' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'CHAR' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'FLOAT' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'INT32' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'AT_INT32' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action 'error' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action '#' (explicit left 9986):   reduce cases --> 'PIPE' cases_
    action '$$' (explicit left 9986):   reduce cases --> 'PIPE' cases_
  immediate action:   reduce cases --> 'PIPE' cases_  gotos:state 477:  items:    cases -> 'CURBRA' . cases2_ 'CURKET'
    cases -> 'CURBRA' . 'PIPE' cases2_ 'CURKET'
    patt_app_atom_ -> 'CURBRA' . patt_record 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 480
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 151
    action 'LID' (noprec):   shift 153
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 576
    goto cases2_: 478
    goto case2: 493
    goto lit: 568
    goto patt: 496
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
    goto patt_record_item: 578
    goto patt_record: 570
state 478:  items:    cases -> 'CURBRA' cases2_ . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 479
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 479:  items:    cases -> 'CURBRA' cases2_ 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'TYPE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'EQ' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'STAR' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'ARROW' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'VAL' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'OVER' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BRAGT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'LTKET' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BRALT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'GTKET' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'HASH' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'DO' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'INJECT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'EJECT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'IMPLIES' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'DATATYPE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'DATA' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'FORALL' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BOTTOM' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'LET' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'REC' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'IN' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'IF' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'THEN' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'ELSE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'FUN' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'MATCH' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'WHEN' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'WITH' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'FUNCTION' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'TRUE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'FALSE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'AS' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'OF' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'NAMESPACE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'OPEN' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'WHERE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'OVERLOAD' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BACKSLASH' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'KIND' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'QUESTION' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BRA' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'KET' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'CURBRA' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'CURKET' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'SQBRA' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'SQKET' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'PLUS' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'MINUS' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'SLASH' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'PLUSDOT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'MINUSDOT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'MOD' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'NEQ' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'LT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'GT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'LEQ' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'GEQ' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'AND' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'NOT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'PIPE' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'AMP' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BANG' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'COLONGT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'COLON' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'COLON2' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'SEMICOLON' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'DOT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'COMMA' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'ASSIGN' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'STRING' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'UID' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'LID' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'INFIX' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'TICK_ID' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'AT_ID' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'CHAR' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'FLOAT' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'INT32' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'AT_INT32' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action 'error' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action '#' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
    action '$$' (noprec):   reduce cases --> 'CURBRA' cases2_ 'CURKET'
  immediate action:   reduce cases --> 'CURBRA' cases2_ 'CURKET'  gotos:state 480:  items:    cases -> 'CURBRA' 'PIPE' . cases2_ 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto cases2_: 481
    goto case2: 493
    goto lit: 568
    goto patt: 496
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 481:  items:    cases -> 'CURBRA' 'PIPE' cases2_ . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 482
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 482:  items:    cases -> 'CURBRA' 'PIPE' cases2_ 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'TYPE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'EQ' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'STAR' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'ARROW' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'VAL' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'OVER' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BRAGT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'LTKET' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BRALT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'GTKET' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'HASH' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'DO' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'INJECT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'EJECT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'IMPLIES' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'DATATYPE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'DATA' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'FORALL' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BOTTOM' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'LET' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'REC' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'IN' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'IF' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'THEN' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'ELSE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'FUN' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'MATCH' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'WHEN' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'WITH' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'FUNCTION' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'TRUE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'FALSE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'AS' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'OF' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'NAMESPACE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'OPEN' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'WHERE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'OVERLOAD' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BACKSLASH' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'KIND' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'QUESTION' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BRA' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'KET' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'CURBRA' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'CURKET' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'SQBRA' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'SQKET' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'PLUS' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'MINUS' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'SLASH' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'PLUSDOT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'MINUSDOT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'MOD' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'NEQ' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'LT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'GT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'LEQ' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'GEQ' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'AND' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'NOT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'PIPE' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'AMP' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BANG' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'COLONGT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'COLON' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'COLON2' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'SEMICOLON' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'DOT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'COMMA' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'ASSIGN' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'STRING' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'UID' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'LID' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'INFIX' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'TICK_ID' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'AT_ID' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'CHAR' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'FLOAT' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'INT32' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'AT_INT32' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action 'error' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action '#' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
    action '$$' (noprec):   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'
  immediate action:   reduce cases --> 'CURBRA' 'PIPE' cases2_ 'CURKET'  gotos:state 483:  items:    cases_ -> case . 
    cases_ -> case . 'PIPE' cases_
  actions:    action 'EOF' (noprec):   reduce cases_ --> case
    action 'TYPE' (noprec):   reduce cases_ --> case
    action 'EQ' (noprec):   reduce cases_ --> case
    action 'STAR' (noprec):   reduce cases_ --> case
    action 'ARROW' (noprec):   reduce cases_ --> case
    action 'VAL' (noprec):   reduce cases_ --> case
    action 'OVER' (noprec):   reduce cases_ --> case
    action 'BRAGT' (noprec):   reduce cases_ --> case
    action 'LTKET' (noprec):   reduce cases_ --> case
    action 'BRALT' (noprec):   reduce cases_ --> case
    action 'GTKET' (noprec):   reduce cases_ --> case
    action 'HASH' (noprec):   reduce cases_ --> case
    action 'DO' (noprec):   reduce cases_ --> case
    action 'INJECT' (noprec):   reduce cases_ --> case
    action 'EJECT' (noprec):   reduce cases_ --> case
    action 'IMPLIES' (noprec):   reduce cases_ --> case
    action 'DATATYPE' (noprec):   reduce cases_ --> case
    action 'DATA' (noprec):   reduce cases_ --> case
    action 'FORALL' (noprec):   reduce cases_ --> case
    action 'BOTTOM' (noprec):   reduce cases_ --> case
    action 'LET' (noprec):   reduce cases_ --> case
    action 'REC' (noprec):   reduce cases_ --> case
    action 'IN' (noprec):   reduce cases_ --> case
    action 'IF' (noprec):   reduce cases_ --> case
    action 'THEN' (noprec):   reduce cases_ --> case
    action 'ELSE' (noprec):   reduce cases_ --> case
    action 'FUN' (noprec):   reduce cases_ --> case
    action 'MATCH' (noprec):   reduce cases_ --> case
    action 'WHEN' (noprec):   reduce cases_ --> case
    action 'WITH' (noprec):   reduce cases_ --> case
    action 'FUNCTION' (noprec):   reduce cases_ --> case
    action 'TRUE' (noprec):   reduce cases_ --> case
    action 'FALSE' (noprec):   reduce cases_ --> case
    action 'AS' (noprec):   reduce cases_ --> case
    action 'OF' (noprec):   reduce cases_ --> case
    action 'NAMESPACE' (noprec):   reduce cases_ --> case
    action 'OPEN' (noprec):   reduce cases_ --> case
    action 'WHERE' (noprec):   reduce cases_ --> case
    action 'OVERLOAD' (noprec):   reduce cases_ --> case
    action 'DOUBLEAMP' (noprec):   reduce cases_ --> case
    action 'DOUBLEPIPE' (noprec):   reduce cases_ --> case
    action 'UNDERSCORE' (noprec):   reduce cases_ --> case
    action 'BACKSLASH' (noprec):   reduce cases_ --> case
    action 'KIND' (noprec):   reduce cases_ --> case
    action 'QUESTION' (noprec):   reduce cases_ --> case
    action 'BRA' (noprec):   reduce cases_ --> case
    action 'KET' (noprec):   reduce cases_ --> case
    action 'CURBRA' (noprec):   reduce cases_ --> case
    action 'CURKET' (noprec):   reduce cases_ --> case
    action 'SQBRA' (noprec):   reduce cases_ --> case
    action 'SQKET' (noprec):   reduce cases_ --> case
    action 'PLUS' (noprec):   reduce cases_ --> case
    action 'MINUS' (noprec):   reduce cases_ --> case
    action 'SLASH' (noprec):   reduce cases_ --> case
    action 'PLUSDOT' (noprec):   reduce cases_ --> case
    action 'MINUSDOT' (noprec):   reduce cases_ --> case
    action 'MOD' (noprec):   reduce cases_ --> case
    action 'NEQ' (noprec):   reduce cases_ --> case
    action 'LT' (noprec):   reduce cases_ --> case
    action 'GT' (noprec):   reduce cases_ --> case
    action 'LEQ' (noprec):   reduce cases_ --> case
    action 'GEQ' (noprec):   reduce cases_ --> case
    action 'AND' (noprec):   reduce cases_ --> case
    action 'NOT' (noprec):   reduce cases_ --> case
    action 'PIPE' (explicit left 9986):   shift 484
    action 'AMP' (noprec):   reduce cases_ --> case
    action 'BANG' (noprec):   reduce cases_ --> case
    action 'COLONGT' (noprec):   reduce cases_ --> case
    action 'COLON' (noprec):   reduce cases_ --> case
    action 'COLON2' (noprec):   reduce cases_ --> case
    action 'SEMICOLON' (noprec):   reduce cases_ --> case
    action 'SEMICOLON2' (noprec):   reduce cases_ --> case
    action 'DOT' (noprec):   reduce cases_ --> case
    action 'COMMA' (noprec):   reduce cases_ --> case
    action 'ASSIGN' (noprec):   reduce cases_ --> case
    action 'STRING' (noprec):   reduce cases_ --> case
    action 'UID' (noprec):   reduce cases_ --> case
    action 'LID' (noprec):   reduce cases_ --> case
    action 'INFIX' (noprec):   reduce cases_ --> case
    action 'TICK_ID' (noprec):   reduce cases_ --> case
    action 'BACKTICK_ID' (noprec):   reduce cases_ --> case
    action 'AT_ID' (noprec):   reduce cases_ --> case
    action 'CHAR' (noprec):   reduce cases_ --> case
    action 'FLOAT' (noprec):   reduce cases_ --> case
    action 'INT32' (noprec):   reduce cases_ --> case
    action 'AT_INT32' (noprec):   reduce cases_ --> case
    action 'error' (noprec):   reduce cases_ --> case
    action '#' (noprec):   reduce cases_ --> case
    action '$$' (noprec):   reduce cases_ --> case
  immediate action: <none>  gotos:state 484:  items:    cases_ -> case 'PIPE' . cases_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto cases_: 485
    goto case: 483
    goto lit: 568
    goto patt: 486
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 485:  items:    cases_ -> case 'PIPE' cases_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'TYPE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'EQ' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'STAR' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'ARROW' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'VAL' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'OVER' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BRAGT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'LTKET' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BRALT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'GTKET' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'HASH' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'DO' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'INJECT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'EJECT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'IMPLIES' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'DATATYPE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'DATA' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'FORALL' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BOTTOM' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'LET' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'REC' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'IN' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'IF' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'THEN' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'ELSE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'FUN' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'MATCH' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'WHEN' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'WITH' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'FUNCTION' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'TRUE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'FALSE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'AS' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'OF' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'NAMESPACE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'OPEN' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'WHERE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'OVERLOAD' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'DOUBLEAMP' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'UNDERSCORE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BACKSLASH' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'KIND' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'QUESTION' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BRA' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'KET' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'CURBRA' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'CURKET' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'SQBRA' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'SQKET' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'PLUS' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'MINUS' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'SLASH' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'PLUSDOT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'MINUSDOT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'MOD' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'NEQ' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'LT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'GT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'LEQ' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'GEQ' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'AND' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'NOT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'PIPE' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'AMP' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BANG' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'COLONGT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'COLON' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'COLON2' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'SEMICOLON' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'SEMICOLON2' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'DOT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'COMMA' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'ASSIGN' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'STRING' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'UID' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'LID' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'INFIX' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'TICK_ID' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'BACKTICK_ID' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'AT_ID' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'CHAR' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'FLOAT' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'INT32' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'AT_INT32' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action 'error' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action '#' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
    action '$$' (explicit left 9986):   reduce cases_ --> case 'PIPE' cases_
  immediate action:   reduce cases_ --> case 'PIPE' cases_  gotos:state 486:  items:    case -> patt . 'ARROW' expr_stmt_atom
    case -> patt . 'WHEN' expr 'ARROW' expr_stmt_atom
    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (explicit right 9985):   shift 487
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   shift 489
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 545
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 487:  items:    case -> patt 'ARROW' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 488
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 488:  items:    case -> patt 'ARROW' expr_stmt_atom . 
  actions:    action 'EOF' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'TYPE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'EQ' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'STAR' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'ARROW' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'VAL' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'OVER' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BRAGT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'LTKET' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BRALT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'GTKET' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'HASH' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'DO' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'INJECT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'EJECT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'IMPLIES' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'DATATYPE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'DATA' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'FORALL' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BOTTOM' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'LET' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'REC' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'IN' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'IF' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'THEN' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'ELSE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'FUN' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'MATCH' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'WHEN' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'WITH' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'FUNCTION' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'TRUE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'FALSE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'AS' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'OF' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'NAMESPACE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'OPEN' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'WHERE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'OVERLOAD' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'DOUBLEAMP' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'UNDERSCORE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BACKSLASH' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'KIND' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'QUESTION' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BRA' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'KET' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'CURBRA' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'CURKET' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'SQBRA' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'SQKET' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'PLUS' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'MINUS' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'SLASH' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'PLUSDOT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'MINUSDOT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'MOD' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'NEQ' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'LT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'GT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'LEQ' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'GEQ' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'AND' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'NOT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'PIPE' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'AMP' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BANG' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'COLONGT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'COLON' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'COLON2' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'SEMICOLON' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'SEMICOLON2' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'DOT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'COMMA' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'ASSIGN' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'STRING' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'UID' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'LID' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'INFIX' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'TICK_ID' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'BACKTICK_ID' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'AT_ID' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'CHAR' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'FLOAT' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'INT32' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'AT_INT32' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action 'error' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action '#' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
    action '$$' (explicit right 9985):   reduce case --> patt 'ARROW' expr_stmt_atom
  immediate action:   reduce case --> patt 'ARROW' expr_stmt_atom  gotos:state 489:  items:    case -> patt 'WHEN' . expr 'ARROW' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 490
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 490:  items:    case -> patt 'WHEN' expr . 'ARROW' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (explicit right 9985):   shift 491
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 491:  items:    case -> patt 'WHEN' expr 'ARROW' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 492
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 492:  items:    case -> patt 'WHEN' expr 'ARROW' expr_stmt_atom . 
  actions:    action 'EOF' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'TYPE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'EQ' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'STAR' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'ARROW' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'VAL' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OVER' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BRAGT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LTKET' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BRALT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'GTKET' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'HASH' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DO' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'INJECT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'EJECT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'IMPLIES' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DATATYPE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DATA' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FORALL' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BOTTOM' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LET' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'REC' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'IN' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'IF' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'THEN' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'ELSE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FUN' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MATCH' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'WHEN' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'WITH' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FUNCTION' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'TRUE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FALSE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AS' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OF' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'NAMESPACE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OPEN' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'WHERE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'OVERLOAD' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DOUBLEAMP' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DOUBLEPIPE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'UNDERSCORE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BACKSLASH' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'KIND' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'QUESTION' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BRA' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'KET' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'CURBRA' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'CURKET' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SQBRA' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SQKET' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'PLUS' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MINUS' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SLASH' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'PLUSDOT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MINUSDOT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'MOD' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'NEQ' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'GT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LEQ' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'GEQ' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AND' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'NOT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'PIPE' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AMP' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BANG' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COLONGT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COLON' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COLON2' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SEMICOLON' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'SEMICOLON2' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'DOT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'COMMA' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'ASSIGN' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'STRING' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'UID' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'LID' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'INFIX' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'TICK_ID' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'BACKTICK_ID' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AT_ID' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'CHAR' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'FLOAT' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'INT32' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'AT_INT32' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action 'error' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action '#' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
    action '$$' (explicit right 9985):   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom
  immediate action:   reduce case --> patt 'WHEN' expr 'ARROW' expr_stmt_atom  gotos:state 493:  items:    cases2_ -> case2 . 
    cases2_ -> case2 . 'PIPE' cases2_
  actions:    action 'EOF' (noprec):   reduce cases2_ --> case2
    action 'TYPE' (noprec):   reduce cases2_ --> case2
    action 'EQ' (noprec):   reduce cases2_ --> case2
    action 'STAR' (noprec):   reduce cases2_ --> case2
    action 'ARROW' (noprec):   reduce cases2_ --> case2
    action 'VAL' (noprec):   reduce cases2_ --> case2
    action 'OVER' (noprec):   reduce cases2_ --> case2
    action 'BRAGT' (noprec):   reduce cases2_ --> case2
    action 'LTKET' (noprec):   reduce cases2_ --> case2
    action 'BRALT' (noprec):   reduce cases2_ --> case2
    action 'GTKET' (noprec):   reduce cases2_ --> case2
    action 'HASH' (noprec):   reduce cases2_ --> case2
    action 'DO' (noprec):   reduce cases2_ --> case2
    action 'INJECT' (noprec):   reduce cases2_ --> case2
    action 'EJECT' (noprec):   reduce cases2_ --> case2
    action 'IMPLIES' (noprec):   reduce cases2_ --> case2
    action 'DATATYPE' (noprec):   reduce cases2_ --> case2
    action 'DATA' (noprec):   reduce cases2_ --> case2
    action 'FORALL' (noprec):   reduce cases2_ --> case2
    action 'BOTTOM' (noprec):   reduce cases2_ --> case2
    action 'LET' (noprec):   reduce cases2_ --> case2
    action 'REC' (noprec):   reduce cases2_ --> case2
    action 'IN' (noprec):   reduce cases2_ --> case2
    action 'IF' (noprec):   reduce cases2_ --> case2
    action 'THEN' (noprec):   reduce cases2_ --> case2
    action 'ELSE' (noprec):   reduce cases2_ --> case2
    action 'FUN' (noprec):   reduce cases2_ --> case2
    action 'MATCH' (noprec):   reduce cases2_ --> case2
    action 'WHEN' (noprec):   reduce cases2_ --> case2
    action 'WITH' (noprec):   reduce cases2_ --> case2
    action 'FUNCTION' (noprec):   reduce cases2_ --> case2
    action 'TRUE' (noprec):   reduce cases2_ --> case2
    action 'FALSE' (noprec):   reduce cases2_ --> case2
    action 'AS' (noprec):   reduce cases2_ --> case2
    action 'OF' (noprec):   reduce cases2_ --> case2
    action 'NAMESPACE' (noprec):   reduce cases2_ --> case2
    action 'OPEN' (noprec):   reduce cases2_ --> case2
    action 'WHERE' (noprec):   reduce cases2_ --> case2
    action 'OVERLOAD' (noprec):   reduce cases2_ --> case2
    action 'DOUBLEAMP' (noprec):   reduce cases2_ --> case2
    action 'DOUBLEPIPE' (noprec):   reduce cases2_ --> case2
    action 'UNDERSCORE' (noprec):   reduce cases2_ --> case2
    action 'BACKSLASH' (noprec):   reduce cases2_ --> case2
    action 'KIND' (noprec):   reduce cases2_ --> case2
    action 'QUESTION' (noprec):   reduce cases2_ --> case2
    action 'BRA' (noprec):   reduce cases2_ --> case2
    action 'KET' (noprec):   reduce cases2_ --> case2
    action 'CURBRA' (noprec):   reduce cases2_ --> case2
    action 'CURKET' (noprec):   reduce cases2_ --> case2
    action 'SQBRA' (noprec):   reduce cases2_ --> case2
    action 'SQKET' (noprec):   reduce cases2_ --> case2
    action 'PLUS' (noprec):   reduce cases2_ --> case2
    action 'MINUS' (noprec):   reduce cases2_ --> case2
    action 'SLASH' (noprec):   reduce cases2_ --> case2
    action 'PLUSDOT' (noprec):   reduce cases2_ --> case2
    action 'MINUSDOT' (noprec):   reduce cases2_ --> case2
    action 'MOD' (noprec):   reduce cases2_ --> case2
    action 'NEQ' (noprec):   reduce cases2_ --> case2
    action 'LT' (noprec):   reduce cases2_ --> case2
    action 'GT' (noprec):   reduce cases2_ --> case2
    action 'LEQ' (noprec):   reduce cases2_ --> case2
    action 'GEQ' (noprec):   reduce cases2_ --> case2
    action 'AND' (noprec):   reduce cases2_ --> case2
    action 'NOT' (noprec):   reduce cases2_ --> case2
    action 'PIPE' (explicit left 9986):   shift 494
    action 'AMP' (noprec):   reduce cases2_ --> case2
    action 'BANG' (noprec):   reduce cases2_ --> case2
    action 'COLONGT' (noprec):   reduce cases2_ --> case2
    action 'COLON' (noprec):   reduce cases2_ --> case2
    action 'COLON2' (noprec):   reduce cases2_ --> case2
    action 'SEMICOLON' (noprec):   reduce cases2_ --> case2
    action 'SEMICOLON2' (noprec):   reduce cases2_ --> case2
    action 'DOT' (noprec):   reduce cases2_ --> case2
    action 'COMMA' (noprec):   reduce cases2_ --> case2
    action 'ASSIGN' (noprec):   reduce cases2_ --> case2
    action 'STRING' (noprec):   reduce cases2_ --> case2
    action 'UID' (noprec):   reduce cases2_ --> case2
    action 'LID' (noprec):   reduce cases2_ --> case2
    action 'INFIX' (noprec):   reduce cases2_ --> case2
    action 'TICK_ID' (noprec):   reduce cases2_ --> case2
    action 'BACKTICK_ID' (noprec):   reduce cases2_ --> case2
    action 'AT_ID' (noprec):   reduce cases2_ --> case2
    action 'CHAR' (noprec):   reduce cases2_ --> case2
    action 'FLOAT' (noprec):   reduce cases2_ --> case2
    action 'INT32' (noprec):   reduce cases2_ --> case2
    action 'AT_INT32' (noprec):   reduce cases2_ --> case2
    action 'error' (noprec):   reduce cases2_ --> case2
    action '#' (noprec):   reduce cases2_ --> case2
    action '$$' (noprec):   reduce cases2_ --> case2
  immediate action: <none>  gotos:state 494:  items:    cases2_ -> case2 'PIPE' . cases2_
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto cases2_: 495
    goto case2: 493
    goto lit: 568
    goto patt: 496
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 495:  items:    cases2_ -> case2 'PIPE' cases2_ . 
  actions:    action 'EOF' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'TYPE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'EQ' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'STAR' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'ARROW' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'VAL' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'OVER' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BRAGT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'LTKET' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BRALT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'GTKET' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'HASH' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'DO' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'INJECT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'EJECT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'IMPLIES' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'DATATYPE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'DATA' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'FORALL' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BOTTOM' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'LET' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'REC' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'IN' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'IF' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'THEN' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'ELSE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'FUN' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'MATCH' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'WHEN' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'WITH' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'FUNCTION' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'TRUE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'FALSE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'AS' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'OF' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'NAMESPACE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'OPEN' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'WHERE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'OVERLOAD' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'DOUBLEAMP' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'DOUBLEPIPE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'UNDERSCORE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BACKSLASH' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'KIND' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'QUESTION' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BRA' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'KET' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'CURBRA' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'CURKET' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'SQBRA' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'SQKET' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'PLUS' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'MINUS' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'SLASH' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'PLUSDOT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'MINUSDOT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'MOD' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'NEQ' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'LT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'GT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'LEQ' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'GEQ' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'AND' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'NOT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'PIPE' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'AMP' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BANG' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'COLONGT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'COLON' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'COLON2' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'SEMICOLON' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'SEMICOLON2' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'DOT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'COMMA' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'ASSIGN' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'STRING' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'UID' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'LID' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'INFIX' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'TICK_ID' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'BACKTICK_ID' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'AT_ID' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'CHAR' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'FLOAT' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'INT32' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'AT_INT32' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action 'error' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action '#' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
    action '$$' (explicit left 9986):   reduce cases2_ --> case2 'PIPE' cases2_
  immediate action:   reduce cases2_ --> case2 'PIPE' cases2_  gotos:state 496:  items:    case2 -> patt . 'IMPLIES' expr_stmt_atom
    case2 -> patt . 'WHEN' expr 'IMPLIES' expr_stmt_atom
    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   shift 497
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   shift 499
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 545
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 497:  items:    case2 -> patt 'IMPLIES' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 498
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 498:  items:    case2 -> patt 'IMPLIES' expr_stmt_atom . 
  actions:    action 'EOF' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'TYPE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'EQ' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'STAR' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'ARROW' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'VAL' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'OVER' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BRAGT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'LTKET' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BRALT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'GTKET' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'HASH' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'DO' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'INJECT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'EJECT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'IMPLIES' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'DATATYPE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'DATA' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'FORALL' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BOTTOM' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'LET' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'REC' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'IN' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'IF' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'THEN' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'ELSE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'FUN' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'MATCH' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'WHEN' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'WITH' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'FUNCTION' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'TRUE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'FALSE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'AS' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'OF' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'NAMESPACE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'OPEN' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'WHERE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'OVERLOAD' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'DOUBLEAMP' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'DOUBLEPIPE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'UNDERSCORE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BACKSLASH' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'KIND' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'QUESTION' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BRA' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'KET' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'CURBRA' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'CURKET' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'SQBRA' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'SQKET' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'PLUS' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'MINUS' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'SLASH' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'PLUSDOT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'MINUSDOT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'MOD' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'NEQ' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'LT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'GT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'LEQ' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'GEQ' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'AND' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'NOT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'PIPE' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'AMP' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BANG' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'COLONGT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'COLON' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'COLON2' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'SEMICOLON' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'SEMICOLON2' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'DOT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'COMMA' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'ASSIGN' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'STRING' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'UID' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'LID' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'INFIX' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'TICK_ID' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'BACKTICK_ID' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'AT_ID' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'CHAR' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'FLOAT' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'INT32' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'AT_INT32' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action 'error' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action '#' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
    action '$$' (noprec):   reduce case2 --> patt 'IMPLIES' expr_stmt_atom
  immediate action:   reduce case2 --> patt 'IMPLIES' expr_stmt_atom  gotos:state 499:  items:    case2 -> patt 'WHEN' . expr 'IMPLIES' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   shift 350
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 342
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 344
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr: 500
    goto expr_stmt_atom: 349
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_: 338
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 500:  items:    case2 -> patt 'WHEN' expr . 'IMPLIES' expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   shift 501
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 501:  items:    case2 -> patt 'WHEN' expr 'IMPLIES' . expr_stmt_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 502
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
state 502:  items:    case2 -> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom . 
  actions:    action 'EOF' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'TYPE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'EQ' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'STAR' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'ARROW' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'VAL' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'OVER' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BRAGT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'LTKET' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BRALT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'GTKET' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'HASH' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'DO' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'INJECT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'EJECT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'IMPLIES' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'DATATYPE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'DATA' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'FORALL' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BOTTOM' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'LET' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'REC' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'IN' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'IF' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'THEN' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'ELSE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'FUN' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'MATCH' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'WHEN' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'WITH' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'FUNCTION' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'TRUE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'FALSE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'AS' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'OF' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'NAMESPACE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'OPEN' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'WHERE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'OVERLOAD' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'DOUBLEAMP' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'DOUBLEPIPE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'UNDERSCORE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BACKSLASH' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'KIND' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'QUESTION' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BRA' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'KET' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'CURBRA' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'CURKET' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'SQBRA' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'SQKET' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'PLUS' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'MINUS' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'SLASH' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'PLUSDOT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'MINUSDOT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'MOD' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'NEQ' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'LT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'GT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'LEQ' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'GEQ' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'AND' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'NOT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'PIPE' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'AMP' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BANG' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'COLONGT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'COLON' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'COLON2' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'SEMICOLON' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'SEMICOLON2' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'DOT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'COMMA' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'ASSIGN' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'STRING' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'UID' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'LID' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'INFIX' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'TICK_ID' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'BACKTICK_ID' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'AT_ID' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'CHAR' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'FLOAT' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'INT32' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'AT_INT32' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action 'error' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action '#' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
    action '$$' (noprec):   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom
  immediate action:   reduce case2 --> patt 'WHEN' expr 'IMPLIES' expr_stmt_atom  gotos:state 503:  items:    symbol -> 'PLUS' . 
  actions:    action 'EOF' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'TYPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'EQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'STAR' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'ARROW' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'VAL' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OVER' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BRAGT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LTKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BRALT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'GTKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'HASH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DO' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'INJECT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'EJECT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'IMPLIES' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DATATYPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DATA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FORALL' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BOTTOM' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'REC' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'IN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'IF' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'THEN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'ELSE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FUN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MATCH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'WHEN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'WITH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FUNCTION' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'TRUE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FALSE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AS' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OF' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'NAMESPACE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OPEN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'WHERE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'OVERLOAD' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DOUBLEAMP' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DOUBLEPIPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'UNDERSCORE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BACKSLASH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'KIND' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'QUESTION' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BRA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'KET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'CURBRA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'CURKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SQBRA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SQKET' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'PLUS' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MINUS' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SLASH' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'PLUSDOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MINUSDOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'MOD' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'NEQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'GT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LEQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'GEQ' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AND' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'NOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'PIPE' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AMP' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BANG' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COLONGT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COLON' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COLON2' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SEMICOLON' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'SEMICOLON2' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'DOT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'COMMA' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'ASSIGN' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'STRING' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'UID' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'LID' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'INFIX' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'TICK_ID' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'BACKTICK_ID' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AT_ID' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'CHAR' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'FLOAT' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'INT32' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'AT_INT32' (explicit left 9990):   reduce symbol --> 'PLUS'
    action 'error' (explicit left 9990):   reduce symbol --> 'PLUS'
    action '#' (explicit left 9990):   reduce symbol --> 'PLUS'
    action '$$' (explicit left 9990):   reduce symbol --> 'PLUS'
  immediate action:   reduce symbol --> 'PLUS'  gotos:state 504:  items:    symbol -> 'MINUS' . 
  actions:    action 'EOF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TYPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'EQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'STAR' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ARROW' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'VAL' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OVER' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRAGT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LTKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRALT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GTKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'HASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DO' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'INJECT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'EJECT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IMPLIES' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DATATYPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DATA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FORALL' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BOTTOM' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'REC' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'IF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'THEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ELSE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FUN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MATCH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WHEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WITH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FUNCTION' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TRUE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FALSE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OF' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NAMESPACE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OPEN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'WHERE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'OVERLOAD' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOUBLEAMP' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOUBLEPIPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'UNDERSCORE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BACKSLASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'KIND' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'QUESTION' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BRA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'KET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'CURBRA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'CURKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SQBRA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SQKET' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PLUS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MINUS' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SLASH' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PLUSDOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MINUSDOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'MOD' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'GEQ' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AND' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'NOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'PIPE' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AMP' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BANG' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLONGT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLON' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COLON2' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SEMICOLON' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'SEMICOLON2' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'DOT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'COMMA' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'ASSIGN' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'STRING' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'UID' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'LID' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'INFIX' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'TICK_ID' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'BACKTICK_ID' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AT_ID' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'CHAR' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'FLOAT' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'INT32' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'AT_INT32' (explicit left 9990):   reduce symbol --> 'MINUS'
    action 'error' (explicit left 9990):   reduce symbol --> 'MINUS'
    action '#' (explicit left 9990):   reduce symbol --> 'MINUS'
    action '$$' (explicit left 9990):   reduce symbol --> 'MINUS'
  immediate action:   reduce symbol --> 'MINUS'  gotos:state 505:  items:    symbol -> 'STAR' . 
  actions:    action 'EOF' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'TYPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'EQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'STAR' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'ARROW' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'VAL' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OVER' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BRAGT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LTKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BRALT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'GTKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'HASH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DO' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'INJECT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'EJECT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'IMPLIES' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DATATYPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DATA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FORALL' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BOTTOM' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'REC' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'IN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'IF' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'THEN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'ELSE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FUN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MATCH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'WHEN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'WITH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FUNCTION' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'TRUE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FALSE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AS' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OF' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'NAMESPACE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OPEN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'WHERE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'OVERLOAD' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DOUBLEAMP' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'UNDERSCORE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BACKSLASH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'KIND' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'QUESTION' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BRA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'KET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'CURBRA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'CURKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SQBRA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SQKET' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'PLUS' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MINUS' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SLASH' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'PLUSDOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MINUSDOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'MOD' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'NEQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'GT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LEQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'GEQ' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AND' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'NOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'PIPE' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AMP' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BANG' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COLONGT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COLON' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COLON2' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SEMICOLON' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'SEMICOLON2' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'DOT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'COMMA' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'ASSIGN' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'STRING' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'UID' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'LID' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'INFIX' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'TICK_ID' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'BACKTICK_ID' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AT_ID' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'CHAR' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'FLOAT' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'INT32' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'AT_INT32' (explicit left 9992):   reduce symbol --> 'STAR'
    action 'error' (explicit left 9992):   reduce symbol --> 'STAR'
    action '#' (explicit left 9992):   reduce symbol --> 'STAR'
    action '$$' (explicit left 9992):   reduce symbol --> 'STAR'
  immediate action:   reduce symbol --> 'STAR'  gotos:state 506:  items:    symbol -> 'SLASH' . 
  actions:    action 'EOF' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'TYPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'EQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'STAR' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'ARROW' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'VAL' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OVER' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BRAGT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LTKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BRALT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'GTKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'HASH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DO' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'INJECT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'EJECT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'IMPLIES' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DATATYPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DATA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FORALL' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BOTTOM' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'REC' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'IN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'IF' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'THEN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'ELSE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FUN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MATCH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'WHEN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'WITH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FUNCTION' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'TRUE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FALSE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AS' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OF' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'NAMESPACE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OPEN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'WHERE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'OVERLOAD' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DOUBLEAMP' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'UNDERSCORE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BACKSLASH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'KIND' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'QUESTION' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BRA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'KET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'CURBRA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'CURKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SQBRA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SQKET' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'PLUS' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MINUS' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SLASH' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'PLUSDOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MINUSDOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'MOD' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'NEQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'GT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LEQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'GEQ' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AND' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'NOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'PIPE' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AMP' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BANG' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COLONGT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COLON' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COLON2' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SEMICOLON' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'SEMICOLON2' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'DOT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'COMMA' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'ASSIGN' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'STRING' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'UID' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'LID' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'INFIX' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'TICK_ID' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'BACKTICK_ID' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AT_ID' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'CHAR' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'FLOAT' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'INT32' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'AT_INT32' (explicit left 9992):   reduce symbol --> 'SLASH'
    action 'error' (explicit left 9992):   reduce symbol --> 'SLASH'
    action '#' (explicit left 9992):   reduce symbol --> 'SLASH'
    action '$$' (explicit left 9992):   reduce symbol --> 'SLASH'
  immediate action:   reduce symbol --> 'SLASH'  gotos:state 507:  items:    symbol -> 'MOD' . 
  actions:    action 'EOF' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'TYPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'EQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'STAR' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'ARROW' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'VAL' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OVER' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BRAGT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LTKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BRALT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'GTKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'HASH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DO' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'INJECT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'EJECT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'IMPLIES' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DATATYPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DATA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FORALL' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BOTTOM' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'REC' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'IN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'IF' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'THEN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'ELSE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FUN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MATCH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'WHEN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'WITH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FUNCTION' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'TRUE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FALSE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AS' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OF' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'NAMESPACE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OPEN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'WHERE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'OVERLOAD' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DOUBLEAMP' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DOUBLEPIPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'UNDERSCORE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BACKSLASH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'KIND' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'QUESTION' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BRA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'KET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'CURBRA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'CURKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SQBRA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SQKET' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'PLUS' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MINUS' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SLASH' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'PLUSDOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MINUSDOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'MOD' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'NEQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'GT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LEQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'GEQ' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AND' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'NOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'PIPE' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AMP' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BANG' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COLONGT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COLON' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COLON2' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SEMICOLON' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'SEMICOLON2' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'DOT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'COMMA' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'ASSIGN' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'STRING' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'UID' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'LID' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'INFIX' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'TICK_ID' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'BACKTICK_ID' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AT_ID' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'CHAR' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'FLOAT' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'INT32' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'AT_INT32' (explicit left 9992):   reduce symbol --> 'MOD'
    action 'error' (explicit left 9992):   reduce symbol --> 'MOD'
    action '#' (explicit left 9992):   reduce symbol --> 'MOD'
    action '$$' (explicit left 9992):   reduce symbol --> 'MOD'
  immediate action:   reduce symbol --> 'MOD'  gotos:state 508:  items:    symbol -> 'EQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'INJECT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'EJECT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'TRUE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FALSE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AS' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BRA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'KET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'CURBRA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SQBRA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MINUS' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'NOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'STRING' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'UID' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'LID' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'TICK_ID' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'BACKTICK_ID' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AT_ID' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'CHAR' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'FLOAT' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'INT32' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'AT_INT32' (explicit left 9989):   reduce symbol --> 'EQ'
    action 'error' (explicit left 9989):   reduce symbol --> 'EQ'
    action '#' (explicit left 9989):   reduce symbol --> 'EQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'EQ'
  immediate action:   reduce symbol --> 'EQ'  gotos:state 509:  items:    symbol -> 'NEQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'INJECT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'EJECT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'TRUE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FALSE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AS' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BRA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'KET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'CURBRA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SQBRA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MINUS' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'NOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'STRING' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'UID' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'LID' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'TICK_ID' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'BACKTICK_ID' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AT_ID' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'CHAR' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'FLOAT' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'INT32' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'AT_INT32' (explicit left 9989):   reduce symbol --> 'NEQ'
    action 'error' (explicit left 9989):   reduce symbol --> 'NEQ'
    action '#' (explicit left 9989):   reduce symbol --> 'NEQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'NEQ'
  immediate action:   reduce symbol --> 'NEQ'  gotos:state 510:  items:    symbol -> 'LT' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'LT'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'LT'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'LT'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DO' (explicit left 9989):   reduce symbol --> 'LT'
    action 'INJECT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'EJECT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'REC' (explicit left 9989):   reduce symbol --> 'LT'
    action 'IN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'IF' (explicit left 9989):   reduce symbol --> 'LT'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'LT'
    action 'TRUE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FALSE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AS' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OF' (explicit left 9989):   reduce symbol --> 'LT'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'LT'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BRA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'KET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'CURBRA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SQBRA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'LT'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MINUS' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'LT'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'LT'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'GT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AND' (explicit left 9989):   reduce symbol --> 'LT'
    action 'NOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'LT'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'LT'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'LT'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'LT'
    action 'STRING' (explicit left 9989):   reduce symbol --> 'LT'
    action 'UID' (explicit left 9989):   reduce symbol --> 'LT'
    action 'LID' (explicit left 9989):   reduce symbol --> 'LT'
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'LT'
    action 'TICK_ID' (explicit left 9989):   reduce symbol --> 'LT'
    action 'BACKTICK_ID' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AT_ID' (explicit left 9989):   reduce symbol --> 'LT'
    action 'CHAR' (explicit left 9989):   reduce symbol --> 'LT'
    action 'FLOAT' (explicit left 9989):   reduce symbol --> 'LT'
    action 'INT32' (explicit left 9989):   reduce symbol --> 'LT'
    action 'AT_INT32' (explicit left 9989):   reduce symbol --> 'LT'
    action 'error' (explicit left 9989):   reduce symbol --> 'LT'
    action '#' (explicit left 9989):   reduce symbol --> 'LT'
    action '$$' (explicit left 9989):   reduce symbol --> 'LT'
  immediate action:   reduce symbol --> 'LT'  gotos:state 511:  items:    symbol -> 'GT' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'GT'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'GT'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'GT'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DO' (explicit left 9989):   reduce symbol --> 'GT'
    action 'INJECT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'EJECT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'REC' (explicit left 9989):   reduce symbol --> 'GT'
    action 'IN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'IF' (explicit left 9989):   reduce symbol --> 'GT'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'GT'
    action 'TRUE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FALSE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AS' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OF' (explicit left 9989):   reduce symbol --> 'GT'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'GT'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BRA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'KET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'CURBRA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SQBRA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'GT'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MINUS' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'GT'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'GT'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'GT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AND' (explicit left 9989):   reduce symbol --> 'GT'
    action 'NOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'GT'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'GT'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'GT'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'GT'
    action 'STRING' (explicit left 9989):   reduce symbol --> 'GT'
    action 'UID' (explicit left 9989):   reduce symbol --> 'GT'
    action 'LID' (explicit left 9989):   reduce symbol --> 'GT'
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'GT'
    action 'TICK_ID' (explicit left 9989):   reduce symbol --> 'GT'
    action 'BACKTICK_ID' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AT_ID' (explicit left 9989):   reduce symbol --> 'GT'
    action 'CHAR' (explicit left 9989):   reduce symbol --> 'GT'
    action 'FLOAT' (explicit left 9989):   reduce symbol --> 'GT'
    action 'INT32' (explicit left 9989):   reduce symbol --> 'GT'
    action 'AT_INT32' (explicit left 9989):   reduce symbol --> 'GT'
    action 'error' (explicit left 9989):   reduce symbol --> 'GT'
    action '#' (explicit left 9989):   reduce symbol --> 'GT'
    action '$$' (explicit left 9989):   reduce symbol --> 'GT'
  immediate action:   reduce symbol --> 'GT'  gotos:state 512:  items:    symbol -> 'LEQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'INJECT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'EJECT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'TRUE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FALSE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AS' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BRA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'KET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'CURBRA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SQBRA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MINUS' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'NOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'STRING' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'UID' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'LID' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'TICK_ID' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'BACKTICK_ID' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AT_ID' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'CHAR' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'FLOAT' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'INT32' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'AT_INT32' (explicit left 9989):   reduce symbol --> 'LEQ'
    action 'error' (explicit left 9989):   reduce symbol --> 'LEQ'
    action '#' (explicit left 9989):   reduce symbol --> 'LEQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'LEQ'
  immediate action:   reduce symbol --> 'LEQ'  gotos:state 513:  items:    symbol -> 'GEQ' . 
  actions:    action 'EOF' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'TYPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'EQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'STAR' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'ARROW' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'VAL' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OVER' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BRAGT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LTKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BRALT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'GTKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'HASH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DO' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'INJECT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'EJECT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'IMPLIES' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DATATYPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DATA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FORALL' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BOTTOM' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'REC' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'IN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'IF' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'THEN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'ELSE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FUN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MATCH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'WHEN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'WITH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FUNCTION' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'TRUE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FALSE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AS' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OF' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'NAMESPACE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OPEN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'WHERE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'OVERLOAD' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DOUBLEAMP' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DOUBLEPIPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'UNDERSCORE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BACKSLASH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'KIND' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'QUESTION' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BRA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'KET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'CURBRA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'CURKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SQBRA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SQKET' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'PLUS' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MINUS' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SLASH' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'PLUSDOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MINUSDOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'MOD' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'NEQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'GT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LEQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'GEQ' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AND' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'NOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'PIPE' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AMP' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BANG' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COLONGT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COLON' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COLON2' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SEMICOLON' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'SEMICOLON2' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'DOT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'COMMA' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'ASSIGN' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'STRING' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'UID' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'LID' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'INFIX' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'TICK_ID' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'BACKTICK_ID' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AT_ID' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'CHAR' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'FLOAT' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'INT32' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'AT_INT32' (explicit left 9989):   reduce symbol --> 'GEQ'
    action 'error' (explicit left 9989):   reduce symbol --> 'GEQ'
    action '#' (explicit left 9989):   reduce symbol --> 'GEQ'
    action '$$' (explicit left 9989):   reduce symbol --> 'GEQ'
  immediate action:   reduce symbol --> 'GEQ'  gotos:state 514:  items:    symbol -> 'DOUBLEPIPE' . 
  actions:    action 'EOF' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'TYPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'EQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'STAR' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'ARROW' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'VAL' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OVER' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BRAGT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LTKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BRALT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'GTKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'HASH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DO' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'INJECT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'EJECT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'IMPLIES' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DATATYPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DATA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FORALL' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BOTTOM' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'REC' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'IN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'IF' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'THEN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'ELSE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FUN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MATCH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'WHEN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'WITH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FUNCTION' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'TRUE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FALSE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AS' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OF' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'NAMESPACE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OPEN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'WHERE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'OVERLOAD' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DOUBLEAMP' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DOUBLEPIPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'UNDERSCORE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BACKSLASH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'KIND' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'QUESTION' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BRA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'KET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'CURBRA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'CURKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SQBRA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SQKET' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'PLUS' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MINUS' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SLASH' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'PLUSDOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MINUSDOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'MOD' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'NEQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'GT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LEQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'GEQ' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AND' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'NOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'PIPE' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AMP' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BANG' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COLONGT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COLON' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COLON2' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SEMICOLON' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'SEMICOLON2' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'DOT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'COMMA' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'ASSIGN' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'STRING' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'UID' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'LID' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'INFIX' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'TICK_ID' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'BACKTICK_ID' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AT_ID' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'CHAR' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'FLOAT' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'INT32' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'AT_INT32' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action 'error' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action '#' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
    action '$$' (explicit left 9986):   reduce symbol --> 'DOUBLEPIPE'
  immediate action:   reduce symbol --> 'DOUBLEPIPE'  gotos:state 515:  items:    symbol -> 'DOUBLEAMP' . 
  actions:    action 'EOF' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'TYPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'EQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'STAR' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'ARROW' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'VAL' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OVER' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BRAGT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LTKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BRALT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'GTKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'HASH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DO' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'INJECT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'EJECT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'IMPLIES' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DATATYPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DATA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FORALL' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BOTTOM' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'REC' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'IN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'IF' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'THEN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'ELSE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FUN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MATCH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'WHEN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'WITH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FUNCTION' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'TRUE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FALSE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AS' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OF' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'NAMESPACE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OPEN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'WHERE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'OVERLOAD' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DOUBLEAMP' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DOUBLEPIPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'UNDERSCORE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BACKSLASH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'KIND' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'QUESTION' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BRA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'KET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'CURBRA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'CURKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SQBRA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SQKET' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'PLUS' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MINUS' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SLASH' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'PLUSDOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MINUSDOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'MOD' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'NEQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'GT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LEQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'GEQ' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AND' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'NOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'PIPE' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AMP' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BANG' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COLONGT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COLON' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COLON2' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SEMICOLON' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'SEMICOLON2' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'DOT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'COMMA' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'ASSIGN' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'STRING' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'UID' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'LID' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'INFIX' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'TICK_ID' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'BACKTICK_ID' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AT_ID' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'CHAR' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'FLOAT' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'INT32' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'AT_INT32' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action 'error' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action '#' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
    action '$$' (explicit left 9987):   reduce symbol --> 'DOUBLEAMP'
  immediate action:   reduce symbol --> 'DOUBLEAMP'  gotos:state 516:  items:    symbol -> 'ARROW' . 
  actions:    action 'EOF' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'TYPE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'EQ' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'STAR' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'ARROW' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'VAL' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'OVER' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BRAGT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'LTKET' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BRALT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'GTKET' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'HASH' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'DO' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'INJECT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'EJECT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'IMPLIES' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'DATATYPE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'DATA' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'FORALL' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BOTTOM' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'LET' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'REC' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'IN' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'IF' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'THEN' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'ELSE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'FUN' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'MATCH' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'WHEN' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'WITH' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'FUNCTION' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'TRUE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'FALSE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'AS' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'OF' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'NAMESPACE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'OPEN' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'WHERE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'OVERLOAD' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'DOUBLEAMP' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'DOUBLEPIPE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'UNDERSCORE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BACKSLASH' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'KIND' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'QUESTION' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BRA' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'KET' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'CURBRA' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'CURKET' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'SQBRA' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'SQKET' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'PLUS' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'MINUS' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'SLASH' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'PLUSDOT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'MINUSDOT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'MOD' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'NEQ' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'LT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'GT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'LEQ' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'GEQ' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'AND' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'NOT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'PIPE' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'AMP' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BANG' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'COLONGT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'COLON' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'COLON2' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'SEMICOLON' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'SEMICOLON2' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'DOT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'COMMA' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'ASSIGN' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'STRING' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'UID' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'LID' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'INFIX' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'TICK_ID' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'BACKTICK_ID' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'AT_ID' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'CHAR' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'FLOAT' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'INT32' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'AT_INT32' (explicit right 9985):   reduce symbol --> 'ARROW'
    action 'error' (explicit right 9985):   reduce symbol --> 'ARROW'
    action '#' (explicit right 9985):   reduce symbol --> 'ARROW'
    action '$$' (explicit right 9985):   reduce symbol --> 'ARROW'
  immediate action:   reduce symbol --> 'ARROW'  gotos:state 517:  items:    symbol -> 'INFIX' . 
  actions:    action 'EOF' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'TYPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'EQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'STAR' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'ARROW' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'VAL' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OVER' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BRAGT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LTKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BRALT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'GTKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'HASH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DO' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'INJECT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'EJECT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'IMPLIES' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DATATYPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DATA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FORALL' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BOTTOM' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'REC' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'IN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'IF' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'THEN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'ELSE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FUN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MATCH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'WHEN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'WITH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FUNCTION' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'TRUE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FALSE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AS' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OF' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'NAMESPACE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OPEN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'WHERE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'OVERLOAD' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DOUBLEAMP' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DOUBLEPIPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'UNDERSCORE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BACKSLASH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'KIND' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'QUESTION' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BRA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'KET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'CURBRA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'CURKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SQBRA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SQKET' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'PLUS' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MINUS' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SLASH' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'PLUSDOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MINUSDOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'MOD' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'NEQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'GT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LEQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'GEQ' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AND' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'NOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'PIPE' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AMP' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BANG' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COLONGT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COLON' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COLON2' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SEMICOLON' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'SEMICOLON2' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'DOT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'COMMA' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'ASSIGN' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'STRING' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'UID' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'LID' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'INFIX' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'TICK_ID' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'BACKTICK_ID' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AT_ID' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'CHAR' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'FLOAT' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'INT32' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'AT_INT32' (explicit left 9991):   reduce symbol --> 'INFIX'
    action 'error' (explicit left 9991):   reduce symbol --> 'INFIX'
    action '#' (explicit left 9991):   reduce symbol --> 'INFIX'
    action '$$' (explicit left 9991):   reduce symbol --> 'INFIX'
  immediate action:   reduce symbol --> 'INFIX'  gotos:state 518:  items:    lit -> 'INT32' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'INT32'
    action 'TYPE' (noprec):   reduce lit --> 'INT32'
    action 'EQ' (noprec):   reduce lit --> 'INT32'
    action 'STAR' (noprec):   reduce lit --> 'INT32'
    action 'ARROW' (noprec):   reduce lit --> 'INT32'
    action 'VAL' (noprec):   reduce lit --> 'INT32'
    action 'OVER' (noprec):   reduce lit --> 'INT32'
    action 'BRAGT' (noprec):   reduce lit --> 'INT32'
    action 'LTKET' (noprec):   reduce lit --> 'INT32'
    action 'BRALT' (noprec):   reduce lit --> 'INT32'
    action 'GTKET' (noprec):   reduce lit --> 'INT32'
    action 'HASH' (noprec):   reduce lit --> 'INT32'
    action 'DO' (noprec):   reduce lit --> 'INT32'
    action 'INJECT' (noprec):   reduce lit --> 'INT32'
    action 'EJECT' (noprec):   reduce lit --> 'INT32'
    action 'IMPLIES' (noprec):   reduce lit --> 'INT32'
    action 'DATATYPE' (noprec):   reduce lit --> 'INT32'
    action 'DATA' (noprec):   reduce lit --> 'INT32'
    action 'FORALL' (noprec):   reduce lit --> 'INT32'
    action 'BOTTOM' (noprec):   reduce lit --> 'INT32'
    action 'LET' (noprec):   reduce lit --> 'INT32'
    action 'REC' (noprec):   reduce lit --> 'INT32'
    action 'IN' (noprec):   reduce lit --> 'INT32'
    action 'IF' (noprec):   reduce lit --> 'INT32'
    action 'THEN' (noprec):   reduce lit --> 'INT32'
    action 'ELSE' (noprec):   reduce lit --> 'INT32'
    action 'FUN' (noprec):   reduce lit --> 'INT32'
    action 'MATCH' (noprec):   reduce lit --> 'INT32'
    action 'WHEN' (noprec):   reduce lit --> 'INT32'
    action 'WITH' (noprec):   reduce lit --> 'INT32'
    action 'FUNCTION' (noprec):   reduce lit --> 'INT32'
    action 'TRUE' (noprec):   reduce lit --> 'INT32'
    action 'FALSE' (noprec):   reduce lit --> 'INT32'
    action 'AS' (noprec):   reduce lit --> 'INT32'
    action 'OF' (noprec):   reduce lit --> 'INT32'
    action 'NAMESPACE' (noprec):   reduce lit --> 'INT32'
    action 'OPEN' (noprec):   reduce lit --> 'INT32'
    action 'WHERE' (noprec):   reduce lit --> 'INT32'
    action 'OVERLOAD' (noprec):   reduce lit --> 'INT32'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'INT32'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'INT32'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'INT32'
    action 'BACKSLASH' (noprec):   reduce lit --> 'INT32'
    action 'KIND' (noprec):   reduce lit --> 'INT32'
    action 'QUESTION' (noprec):   reduce lit --> 'INT32'
    action 'BRA' (noprec):   reduce lit --> 'INT32'
    action 'KET' (noprec):   reduce lit --> 'INT32'
    action 'CURBRA' (noprec):   reduce lit --> 'INT32'
    action 'CURKET' (noprec):   reduce lit --> 'INT32'
    action 'SQBRA' (noprec):   reduce lit --> 'INT32'
    action 'SQKET' (noprec):   reduce lit --> 'INT32'
    action 'PLUS' (noprec):   reduce lit --> 'INT32'
    action 'MINUS' (noprec):   reduce lit --> 'INT32'
    action 'SLASH' (noprec):   reduce lit --> 'INT32'
    action 'PLUSDOT' (noprec):   reduce lit --> 'INT32'
    action 'MINUSDOT' (noprec):   reduce lit --> 'INT32'
    action 'MOD' (noprec):   reduce lit --> 'INT32'
    action 'NEQ' (noprec):   reduce lit --> 'INT32'
    action 'LT' (noprec):   reduce lit --> 'INT32'
    action 'GT' (noprec):   reduce lit --> 'INT32'
    action 'LEQ' (noprec):   reduce lit --> 'INT32'
    action 'GEQ' (noprec):   reduce lit --> 'INT32'
    action 'AND' (noprec):   reduce lit --> 'INT32'
    action 'NOT' (noprec):   reduce lit --> 'INT32'
    action 'PIPE' (noprec):   reduce lit --> 'INT32'
    action 'AMP' (noprec):   reduce lit --> 'INT32'
    action 'BANG' (noprec):   reduce lit --> 'INT32'
    action 'COLONGT' (noprec):   reduce lit --> 'INT32'
    action 'COLON' (noprec):   reduce lit --> 'INT32'
    action 'COLON2' (noprec):   reduce lit --> 'INT32'
    action 'SEMICOLON' (noprec):   reduce lit --> 'INT32'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'INT32'
    action 'DOT' (noprec):   reduce lit --> 'INT32'
    action 'COMMA' (noprec):   reduce lit --> 'INT32'
    action 'ASSIGN' (noprec):   reduce lit --> 'INT32'
    action 'STRING' (noprec):   reduce lit --> 'INT32'
    action 'UID' (noprec):   reduce lit --> 'INT32'
    action 'LID' (noprec):   reduce lit --> 'INT32'
    action 'INFIX' (noprec):   reduce lit --> 'INT32'
    action 'TICK_ID' (noprec):   reduce lit --> 'INT32'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'INT32'
    action 'AT_ID' (noprec):   reduce lit --> 'INT32'
    action 'CHAR' (noprec):   reduce lit --> 'INT32'
    action 'FLOAT' (noprec):   reduce lit --> 'INT32'
    action 'INT32' (noprec):   reduce lit --> 'INT32'
    action 'AT_INT32' (noprec):   reduce lit --> 'INT32'
    action 'error' (noprec):   reduce lit --> 'INT32'
    action '#' (noprec):   reduce lit --> 'INT32'
    action '$$' (noprec):   reduce lit --> 'INT32'
  immediate action:   reduce lit --> 'INT32'  gotos:state 519:  items:    lit -> 'FLOAT' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'FLOAT'
    action 'TYPE' (noprec):   reduce lit --> 'FLOAT'
    action 'EQ' (noprec):   reduce lit --> 'FLOAT'
    action 'STAR' (noprec):   reduce lit --> 'FLOAT'
    action 'ARROW' (noprec):   reduce lit --> 'FLOAT'
    action 'VAL' (noprec):   reduce lit --> 'FLOAT'
    action 'OVER' (noprec):   reduce lit --> 'FLOAT'
    action 'BRAGT' (noprec):   reduce lit --> 'FLOAT'
    action 'LTKET' (noprec):   reduce lit --> 'FLOAT'
    action 'BRALT' (noprec):   reduce lit --> 'FLOAT'
    action 'GTKET' (noprec):   reduce lit --> 'FLOAT'
    action 'HASH' (noprec):   reduce lit --> 'FLOAT'
    action 'DO' (noprec):   reduce lit --> 'FLOAT'
    action 'INJECT' (noprec):   reduce lit --> 'FLOAT'
    action 'EJECT' (noprec):   reduce lit --> 'FLOAT'
    action 'IMPLIES' (noprec):   reduce lit --> 'FLOAT'
    action 'DATATYPE' (noprec):   reduce lit --> 'FLOAT'
    action 'DATA' (noprec):   reduce lit --> 'FLOAT'
    action 'FORALL' (noprec):   reduce lit --> 'FLOAT'
    action 'BOTTOM' (noprec):   reduce lit --> 'FLOAT'
    action 'LET' (noprec):   reduce lit --> 'FLOAT'
    action 'REC' (noprec):   reduce lit --> 'FLOAT'
    action 'IN' (noprec):   reduce lit --> 'FLOAT'
    action 'IF' (noprec):   reduce lit --> 'FLOAT'
    action 'THEN' (noprec):   reduce lit --> 'FLOAT'
    action 'ELSE' (noprec):   reduce lit --> 'FLOAT'
    action 'FUN' (noprec):   reduce lit --> 'FLOAT'
    action 'MATCH' (noprec):   reduce lit --> 'FLOAT'
    action 'WHEN' (noprec):   reduce lit --> 'FLOAT'
    action 'WITH' (noprec):   reduce lit --> 'FLOAT'
    action 'FUNCTION' (noprec):   reduce lit --> 'FLOAT'
    action 'TRUE' (noprec):   reduce lit --> 'FLOAT'
    action 'FALSE' (noprec):   reduce lit --> 'FLOAT'
    action 'AS' (noprec):   reduce lit --> 'FLOAT'
    action 'OF' (noprec):   reduce lit --> 'FLOAT'
    action 'NAMESPACE' (noprec):   reduce lit --> 'FLOAT'
    action 'OPEN' (noprec):   reduce lit --> 'FLOAT'
    action 'WHERE' (noprec):   reduce lit --> 'FLOAT'
    action 'OVERLOAD' (noprec):   reduce lit --> 'FLOAT'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'FLOAT'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'FLOAT'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'FLOAT'
    action 'BACKSLASH' (noprec):   reduce lit --> 'FLOAT'
    action 'KIND' (noprec):   reduce lit --> 'FLOAT'
    action 'QUESTION' (noprec):   reduce lit --> 'FLOAT'
    action 'BRA' (noprec):   reduce lit --> 'FLOAT'
    action 'KET' (noprec):   reduce lit --> 'FLOAT'
    action 'CURBRA' (noprec):   reduce lit --> 'FLOAT'
    action 'CURKET' (noprec):   reduce lit --> 'FLOAT'
    action 'SQBRA' (noprec):   reduce lit --> 'FLOAT'
    action 'SQKET' (noprec):   reduce lit --> 'FLOAT'
    action 'PLUS' (noprec):   reduce lit --> 'FLOAT'
    action 'MINUS' (noprec):   reduce lit --> 'FLOAT'
    action 'SLASH' (noprec):   reduce lit --> 'FLOAT'
    action 'PLUSDOT' (noprec):   reduce lit --> 'FLOAT'
    action 'MINUSDOT' (noprec):   reduce lit --> 'FLOAT'
    action 'MOD' (noprec):   reduce lit --> 'FLOAT'
    action 'NEQ' (noprec):   reduce lit --> 'FLOAT'
    action 'LT' (noprec):   reduce lit --> 'FLOAT'
    action 'GT' (noprec):   reduce lit --> 'FLOAT'
    action 'LEQ' (noprec):   reduce lit --> 'FLOAT'
    action 'GEQ' (noprec):   reduce lit --> 'FLOAT'
    action 'AND' (noprec):   reduce lit --> 'FLOAT'
    action 'NOT' (noprec):   reduce lit --> 'FLOAT'
    action 'PIPE' (noprec):   reduce lit --> 'FLOAT'
    action 'AMP' (noprec):   reduce lit --> 'FLOAT'
    action 'BANG' (noprec):   reduce lit --> 'FLOAT'
    action 'COLONGT' (noprec):   reduce lit --> 'FLOAT'
    action 'COLON' (noprec):   reduce lit --> 'FLOAT'
    action 'COLON2' (noprec):   reduce lit --> 'FLOAT'
    action 'SEMICOLON' (noprec):   reduce lit --> 'FLOAT'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'FLOAT'
    action 'DOT' (noprec):   reduce lit --> 'FLOAT'
    action 'COMMA' (noprec):   reduce lit --> 'FLOAT'
    action 'ASSIGN' (noprec):   reduce lit --> 'FLOAT'
    action 'STRING' (noprec):   reduce lit --> 'FLOAT'
    action 'UID' (noprec):   reduce lit --> 'FLOAT'
    action 'LID' (noprec):   reduce lit --> 'FLOAT'
    action 'INFIX' (noprec):   reduce lit --> 'FLOAT'
    action 'TICK_ID' (noprec):   reduce lit --> 'FLOAT'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'FLOAT'
    action 'AT_ID' (noprec):   reduce lit --> 'FLOAT'
    action 'CHAR' (noprec):   reduce lit --> 'FLOAT'
    action 'FLOAT' (noprec):   reduce lit --> 'FLOAT'
    action 'INT32' (noprec):   reduce lit --> 'FLOAT'
    action 'AT_INT32' (noprec):   reduce lit --> 'FLOAT'
    action 'error' (noprec):   reduce lit --> 'FLOAT'
    action '#' (noprec):   reduce lit --> 'FLOAT'
    action '$$' (noprec):   reduce lit --> 'FLOAT'
  immediate action:   reduce lit --> 'FLOAT'  gotos:state 520:  items:    lit -> 'TRUE' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'TRUE'
    action 'TYPE' (noprec):   reduce lit --> 'TRUE'
    action 'EQ' (noprec):   reduce lit --> 'TRUE'
    action 'STAR' (noprec):   reduce lit --> 'TRUE'
    action 'ARROW' (noprec):   reduce lit --> 'TRUE'
    action 'VAL' (noprec):   reduce lit --> 'TRUE'
    action 'OVER' (noprec):   reduce lit --> 'TRUE'
    action 'BRAGT' (noprec):   reduce lit --> 'TRUE'
    action 'LTKET' (noprec):   reduce lit --> 'TRUE'
    action 'BRALT' (noprec):   reduce lit --> 'TRUE'
    action 'GTKET' (noprec):   reduce lit --> 'TRUE'
    action 'HASH' (noprec):   reduce lit --> 'TRUE'
    action 'DO' (noprec):   reduce lit --> 'TRUE'
    action 'INJECT' (noprec):   reduce lit --> 'TRUE'
    action 'EJECT' (noprec):   reduce lit --> 'TRUE'
    action 'IMPLIES' (noprec):   reduce lit --> 'TRUE'
    action 'DATATYPE' (noprec):   reduce lit --> 'TRUE'
    action 'DATA' (noprec):   reduce lit --> 'TRUE'
    action 'FORALL' (noprec):   reduce lit --> 'TRUE'
    action 'BOTTOM' (noprec):   reduce lit --> 'TRUE'
    action 'LET' (noprec):   reduce lit --> 'TRUE'
    action 'REC' (noprec):   reduce lit --> 'TRUE'
    action 'IN' (noprec):   reduce lit --> 'TRUE'
    action 'IF' (noprec):   reduce lit --> 'TRUE'
    action 'THEN' (noprec):   reduce lit --> 'TRUE'
    action 'ELSE' (noprec):   reduce lit --> 'TRUE'
    action 'FUN' (noprec):   reduce lit --> 'TRUE'
    action 'MATCH' (noprec):   reduce lit --> 'TRUE'
    action 'WHEN' (noprec):   reduce lit --> 'TRUE'
    action 'WITH' (noprec):   reduce lit --> 'TRUE'
    action 'FUNCTION' (noprec):   reduce lit --> 'TRUE'
    action 'TRUE' (noprec):   reduce lit --> 'TRUE'
    action 'FALSE' (noprec):   reduce lit --> 'TRUE'
    action 'AS' (noprec):   reduce lit --> 'TRUE'
    action 'OF' (noprec):   reduce lit --> 'TRUE'
    action 'NAMESPACE' (noprec):   reduce lit --> 'TRUE'
    action 'OPEN' (noprec):   reduce lit --> 'TRUE'
    action 'WHERE' (noprec):   reduce lit --> 'TRUE'
    action 'OVERLOAD' (noprec):   reduce lit --> 'TRUE'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'TRUE'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'TRUE'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'TRUE'
    action 'BACKSLASH' (noprec):   reduce lit --> 'TRUE'
    action 'KIND' (noprec):   reduce lit --> 'TRUE'
    action 'QUESTION' (noprec):   reduce lit --> 'TRUE'
    action 'BRA' (noprec):   reduce lit --> 'TRUE'
    action 'KET' (noprec):   reduce lit --> 'TRUE'
    action 'CURBRA' (noprec):   reduce lit --> 'TRUE'
    action 'CURKET' (noprec):   reduce lit --> 'TRUE'
    action 'SQBRA' (noprec):   reduce lit --> 'TRUE'
    action 'SQKET' (noprec):   reduce lit --> 'TRUE'
    action 'PLUS' (noprec):   reduce lit --> 'TRUE'
    action 'MINUS' (noprec):   reduce lit --> 'TRUE'
    action 'SLASH' (noprec):   reduce lit --> 'TRUE'
    action 'PLUSDOT' (noprec):   reduce lit --> 'TRUE'
    action 'MINUSDOT' (noprec):   reduce lit --> 'TRUE'
    action 'MOD' (noprec):   reduce lit --> 'TRUE'
    action 'NEQ' (noprec):   reduce lit --> 'TRUE'
    action 'LT' (noprec):   reduce lit --> 'TRUE'
    action 'GT' (noprec):   reduce lit --> 'TRUE'
    action 'LEQ' (noprec):   reduce lit --> 'TRUE'
    action 'GEQ' (noprec):   reduce lit --> 'TRUE'
    action 'AND' (noprec):   reduce lit --> 'TRUE'
    action 'NOT' (noprec):   reduce lit --> 'TRUE'
    action 'PIPE' (noprec):   reduce lit --> 'TRUE'
    action 'AMP' (noprec):   reduce lit --> 'TRUE'
    action 'BANG' (noprec):   reduce lit --> 'TRUE'
    action 'COLONGT' (noprec):   reduce lit --> 'TRUE'
    action 'COLON' (noprec):   reduce lit --> 'TRUE'
    action 'COLON2' (noprec):   reduce lit --> 'TRUE'
    action 'SEMICOLON' (noprec):   reduce lit --> 'TRUE'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'TRUE'
    action 'DOT' (noprec):   reduce lit --> 'TRUE'
    action 'COMMA' (noprec):   reduce lit --> 'TRUE'
    action 'ASSIGN' (noprec):   reduce lit --> 'TRUE'
    action 'STRING' (noprec):   reduce lit --> 'TRUE'
    action 'UID' (noprec):   reduce lit --> 'TRUE'
    action 'LID' (noprec):   reduce lit --> 'TRUE'
    action 'INFIX' (noprec):   reduce lit --> 'TRUE'
    action 'TICK_ID' (noprec):   reduce lit --> 'TRUE'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'TRUE'
    action 'AT_ID' (noprec):   reduce lit --> 'TRUE'
    action 'CHAR' (noprec):   reduce lit --> 'TRUE'
    action 'FLOAT' (noprec):   reduce lit --> 'TRUE'
    action 'INT32' (noprec):   reduce lit --> 'TRUE'
    action 'AT_INT32' (noprec):   reduce lit --> 'TRUE'
    action 'error' (noprec):   reduce lit --> 'TRUE'
    action '#' (noprec):   reduce lit --> 'TRUE'
    action '$$' (noprec):   reduce lit --> 'TRUE'
  immediate action:   reduce lit --> 'TRUE'  gotos:state 521:  items:    lit -> 'FALSE' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'FALSE'
    action 'TYPE' (noprec):   reduce lit --> 'FALSE'
    action 'EQ' (noprec):   reduce lit --> 'FALSE'
    action 'STAR' (noprec):   reduce lit --> 'FALSE'
    action 'ARROW' (noprec):   reduce lit --> 'FALSE'
    action 'VAL' (noprec):   reduce lit --> 'FALSE'
    action 'OVER' (noprec):   reduce lit --> 'FALSE'
    action 'BRAGT' (noprec):   reduce lit --> 'FALSE'
    action 'LTKET' (noprec):   reduce lit --> 'FALSE'
    action 'BRALT' (noprec):   reduce lit --> 'FALSE'
    action 'GTKET' (noprec):   reduce lit --> 'FALSE'
    action 'HASH' (noprec):   reduce lit --> 'FALSE'
    action 'DO' (noprec):   reduce lit --> 'FALSE'
    action 'INJECT' (noprec):   reduce lit --> 'FALSE'
    action 'EJECT' (noprec):   reduce lit --> 'FALSE'
    action 'IMPLIES' (noprec):   reduce lit --> 'FALSE'
    action 'DATATYPE' (noprec):   reduce lit --> 'FALSE'
    action 'DATA' (noprec):   reduce lit --> 'FALSE'
    action 'FORALL' (noprec):   reduce lit --> 'FALSE'
    action 'BOTTOM' (noprec):   reduce lit --> 'FALSE'
    action 'LET' (noprec):   reduce lit --> 'FALSE'
    action 'REC' (noprec):   reduce lit --> 'FALSE'
    action 'IN' (noprec):   reduce lit --> 'FALSE'
    action 'IF' (noprec):   reduce lit --> 'FALSE'
    action 'THEN' (noprec):   reduce lit --> 'FALSE'
    action 'ELSE' (noprec):   reduce lit --> 'FALSE'
    action 'FUN' (noprec):   reduce lit --> 'FALSE'
    action 'MATCH' (noprec):   reduce lit --> 'FALSE'
    action 'WHEN' (noprec):   reduce lit --> 'FALSE'
    action 'WITH' (noprec):   reduce lit --> 'FALSE'
    action 'FUNCTION' (noprec):   reduce lit --> 'FALSE'
    action 'TRUE' (noprec):   reduce lit --> 'FALSE'
    action 'FALSE' (noprec):   reduce lit --> 'FALSE'
    action 'AS' (noprec):   reduce lit --> 'FALSE'
    action 'OF' (noprec):   reduce lit --> 'FALSE'
    action 'NAMESPACE' (noprec):   reduce lit --> 'FALSE'
    action 'OPEN' (noprec):   reduce lit --> 'FALSE'
    action 'WHERE' (noprec):   reduce lit --> 'FALSE'
    action 'OVERLOAD' (noprec):   reduce lit --> 'FALSE'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'FALSE'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'FALSE'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'FALSE'
    action 'BACKSLASH' (noprec):   reduce lit --> 'FALSE'
    action 'KIND' (noprec):   reduce lit --> 'FALSE'
    action 'QUESTION' (noprec):   reduce lit --> 'FALSE'
    action 'BRA' (noprec):   reduce lit --> 'FALSE'
    action 'KET' (noprec):   reduce lit --> 'FALSE'
    action 'CURBRA' (noprec):   reduce lit --> 'FALSE'
    action 'CURKET' (noprec):   reduce lit --> 'FALSE'
    action 'SQBRA' (noprec):   reduce lit --> 'FALSE'
    action 'SQKET' (noprec):   reduce lit --> 'FALSE'
    action 'PLUS' (noprec):   reduce lit --> 'FALSE'
    action 'MINUS' (noprec):   reduce lit --> 'FALSE'
    action 'SLASH' (noprec):   reduce lit --> 'FALSE'
    action 'PLUSDOT' (noprec):   reduce lit --> 'FALSE'
    action 'MINUSDOT' (noprec):   reduce lit --> 'FALSE'
    action 'MOD' (noprec):   reduce lit --> 'FALSE'
    action 'NEQ' (noprec):   reduce lit --> 'FALSE'
    action 'LT' (noprec):   reduce lit --> 'FALSE'
    action 'GT' (noprec):   reduce lit --> 'FALSE'
    action 'LEQ' (noprec):   reduce lit --> 'FALSE'
    action 'GEQ' (noprec):   reduce lit --> 'FALSE'
    action 'AND' (noprec):   reduce lit --> 'FALSE'
    action 'NOT' (noprec):   reduce lit --> 'FALSE'
    action 'PIPE' (noprec):   reduce lit --> 'FALSE'
    action 'AMP' (noprec):   reduce lit --> 'FALSE'
    action 'BANG' (noprec):   reduce lit --> 'FALSE'
    action 'COLONGT' (noprec):   reduce lit --> 'FALSE'
    action 'COLON' (noprec):   reduce lit --> 'FALSE'
    action 'COLON2' (noprec):   reduce lit --> 'FALSE'
    action 'SEMICOLON' (noprec):   reduce lit --> 'FALSE'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'FALSE'
    action 'DOT' (noprec):   reduce lit --> 'FALSE'
    action 'COMMA' (noprec):   reduce lit --> 'FALSE'
    action 'ASSIGN' (noprec):   reduce lit --> 'FALSE'
    action 'STRING' (noprec):   reduce lit --> 'FALSE'
    action 'UID' (noprec):   reduce lit --> 'FALSE'
    action 'LID' (noprec):   reduce lit --> 'FALSE'
    action 'INFIX' (noprec):   reduce lit --> 'FALSE'
    action 'TICK_ID' (noprec):   reduce lit --> 'FALSE'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'FALSE'
    action 'AT_ID' (noprec):   reduce lit --> 'FALSE'
    action 'CHAR' (noprec):   reduce lit --> 'FALSE'
    action 'FLOAT' (noprec):   reduce lit --> 'FALSE'
    action 'INT32' (noprec):   reduce lit --> 'FALSE'
    action 'AT_INT32' (noprec):   reduce lit --> 'FALSE'
    action 'error' (noprec):   reduce lit --> 'FALSE'
    action '#' (noprec):   reduce lit --> 'FALSE'
    action '$$' (noprec):   reduce lit --> 'FALSE'
  immediate action:   reduce lit --> 'FALSE'  gotos:state 522:  items:    lit -> 'STRING' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'STRING'
    action 'TYPE' (noprec):   reduce lit --> 'STRING'
    action 'EQ' (noprec):   reduce lit --> 'STRING'
    action 'STAR' (noprec):   reduce lit --> 'STRING'
    action 'ARROW' (noprec):   reduce lit --> 'STRING'
    action 'VAL' (noprec):   reduce lit --> 'STRING'
    action 'OVER' (noprec):   reduce lit --> 'STRING'
    action 'BRAGT' (noprec):   reduce lit --> 'STRING'
    action 'LTKET' (noprec):   reduce lit --> 'STRING'
    action 'BRALT' (noprec):   reduce lit --> 'STRING'
    action 'GTKET' (noprec):   reduce lit --> 'STRING'
    action 'HASH' (noprec):   reduce lit --> 'STRING'
    action 'DO' (noprec):   reduce lit --> 'STRING'
    action 'INJECT' (noprec):   reduce lit --> 'STRING'
    action 'EJECT' (noprec):   reduce lit --> 'STRING'
    action 'IMPLIES' (noprec):   reduce lit --> 'STRING'
    action 'DATATYPE' (noprec):   reduce lit --> 'STRING'
    action 'DATA' (noprec):   reduce lit --> 'STRING'
    action 'FORALL' (noprec):   reduce lit --> 'STRING'
    action 'BOTTOM' (noprec):   reduce lit --> 'STRING'
    action 'LET' (noprec):   reduce lit --> 'STRING'
    action 'REC' (noprec):   reduce lit --> 'STRING'
    action 'IN' (noprec):   reduce lit --> 'STRING'
    action 'IF' (noprec):   reduce lit --> 'STRING'
    action 'THEN' (noprec):   reduce lit --> 'STRING'
    action 'ELSE' (noprec):   reduce lit --> 'STRING'
    action 'FUN' (noprec):   reduce lit --> 'STRING'
    action 'MATCH' (noprec):   reduce lit --> 'STRING'
    action 'WHEN' (noprec):   reduce lit --> 'STRING'
    action 'WITH' (noprec):   reduce lit --> 'STRING'
    action 'FUNCTION' (noprec):   reduce lit --> 'STRING'
    action 'TRUE' (noprec):   reduce lit --> 'STRING'
    action 'FALSE' (noprec):   reduce lit --> 'STRING'
    action 'AS' (noprec):   reduce lit --> 'STRING'
    action 'OF' (noprec):   reduce lit --> 'STRING'
    action 'NAMESPACE' (noprec):   reduce lit --> 'STRING'
    action 'OPEN' (noprec):   reduce lit --> 'STRING'
    action 'WHERE' (noprec):   reduce lit --> 'STRING'
    action 'OVERLOAD' (noprec):   reduce lit --> 'STRING'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'STRING'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'STRING'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'STRING'
    action 'BACKSLASH' (noprec):   reduce lit --> 'STRING'
    action 'KIND' (noprec):   reduce lit --> 'STRING'
    action 'QUESTION' (noprec):   reduce lit --> 'STRING'
    action 'BRA' (noprec):   reduce lit --> 'STRING'
    action 'KET' (noprec):   reduce lit --> 'STRING'
    action 'CURBRA' (noprec):   reduce lit --> 'STRING'
    action 'CURKET' (noprec):   reduce lit --> 'STRING'
    action 'SQBRA' (noprec):   reduce lit --> 'STRING'
    action 'SQKET' (noprec):   reduce lit --> 'STRING'
    action 'PLUS' (noprec):   reduce lit --> 'STRING'
    action 'MINUS' (noprec):   reduce lit --> 'STRING'
    action 'SLASH' (noprec):   reduce lit --> 'STRING'
    action 'PLUSDOT' (noprec):   reduce lit --> 'STRING'
    action 'MINUSDOT' (noprec):   reduce lit --> 'STRING'
    action 'MOD' (noprec):   reduce lit --> 'STRING'
    action 'NEQ' (noprec):   reduce lit --> 'STRING'
    action 'LT' (noprec):   reduce lit --> 'STRING'
    action 'GT' (noprec):   reduce lit --> 'STRING'
    action 'LEQ' (noprec):   reduce lit --> 'STRING'
    action 'GEQ' (noprec):   reduce lit --> 'STRING'
    action 'AND' (noprec):   reduce lit --> 'STRING'
    action 'NOT' (noprec):   reduce lit --> 'STRING'
    action 'PIPE' (noprec):   reduce lit --> 'STRING'
    action 'AMP' (noprec):   reduce lit --> 'STRING'
    action 'BANG' (noprec):   reduce lit --> 'STRING'
    action 'COLONGT' (noprec):   reduce lit --> 'STRING'
    action 'COLON' (noprec):   reduce lit --> 'STRING'
    action 'COLON2' (noprec):   reduce lit --> 'STRING'
    action 'SEMICOLON' (noprec):   reduce lit --> 'STRING'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'STRING'
    action 'DOT' (noprec):   reduce lit --> 'STRING'
    action 'COMMA' (noprec):   reduce lit --> 'STRING'
    action 'ASSIGN' (noprec):   reduce lit --> 'STRING'
    action 'STRING' (noprec):   reduce lit --> 'STRING'
    action 'UID' (noprec):   reduce lit --> 'STRING'
    action 'LID' (noprec):   reduce lit --> 'STRING'
    action 'INFIX' (noprec):   reduce lit --> 'STRING'
    action 'TICK_ID' (noprec):   reduce lit --> 'STRING'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'STRING'
    action 'AT_ID' (noprec):   reduce lit --> 'STRING'
    action 'CHAR' (noprec):   reduce lit --> 'STRING'
    action 'FLOAT' (noprec):   reduce lit --> 'STRING'
    action 'INT32' (noprec):   reduce lit --> 'STRING'
    action 'AT_INT32' (noprec):   reduce lit --> 'STRING'
    action 'error' (noprec):   reduce lit --> 'STRING'
    action '#' (noprec):   reduce lit --> 'STRING'
    action '$$' (noprec):   reduce lit --> 'STRING'
  immediate action:   reduce lit --> 'STRING'  gotos:state 523:  items:    lit -> 'CHAR' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'CHAR'
    action 'TYPE' (noprec):   reduce lit --> 'CHAR'
    action 'EQ' (noprec):   reduce lit --> 'CHAR'
    action 'STAR' (noprec):   reduce lit --> 'CHAR'
    action 'ARROW' (noprec):   reduce lit --> 'CHAR'
    action 'VAL' (noprec):   reduce lit --> 'CHAR'
    action 'OVER' (noprec):   reduce lit --> 'CHAR'
    action 'BRAGT' (noprec):   reduce lit --> 'CHAR'
    action 'LTKET' (noprec):   reduce lit --> 'CHAR'
    action 'BRALT' (noprec):   reduce lit --> 'CHAR'
    action 'GTKET' (noprec):   reduce lit --> 'CHAR'
    action 'HASH' (noprec):   reduce lit --> 'CHAR'
    action 'DO' (noprec):   reduce lit --> 'CHAR'
    action 'INJECT' (noprec):   reduce lit --> 'CHAR'
    action 'EJECT' (noprec):   reduce lit --> 'CHAR'
    action 'IMPLIES' (noprec):   reduce lit --> 'CHAR'
    action 'DATATYPE' (noprec):   reduce lit --> 'CHAR'
    action 'DATA' (noprec):   reduce lit --> 'CHAR'
    action 'FORALL' (noprec):   reduce lit --> 'CHAR'
    action 'BOTTOM' (noprec):   reduce lit --> 'CHAR'
    action 'LET' (noprec):   reduce lit --> 'CHAR'
    action 'REC' (noprec):   reduce lit --> 'CHAR'
    action 'IN' (noprec):   reduce lit --> 'CHAR'
    action 'IF' (noprec):   reduce lit --> 'CHAR'
    action 'THEN' (noprec):   reduce lit --> 'CHAR'
    action 'ELSE' (noprec):   reduce lit --> 'CHAR'
    action 'FUN' (noprec):   reduce lit --> 'CHAR'
    action 'MATCH' (noprec):   reduce lit --> 'CHAR'
    action 'WHEN' (noprec):   reduce lit --> 'CHAR'
    action 'WITH' (noprec):   reduce lit --> 'CHAR'
    action 'FUNCTION' (noprec):   reduce lit --> 'CHAR'
    action 'TRUE' (noprec):   reduce lit --> 'CHAR'
    action 'FALSE' (noprec):   reduce lit --> 'CHAR'
    action 'AS' (noprec):   reduce lit --> 'CHAR'
    action 'OF' (noprec):   reduce lit --> 'CHAR'
    action 'NAMESPACE' (noprec):   reduce lit --> 'CHAR'
    action 'OPEN' (noprec):   reduce lit --> 'CHAR'
    action 'WHERE' (noprec):   reduce lit --> 'CHAR'
    action 'OVERLOAD' (noprec):   reduce lit --> 'CHAR'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'CHAR'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'CHAR'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'CHAR'
    action 'BACKSLASH' (noprec):   reduce lit --> 'CHAR'
    action 'KIND' (noprec):   reduce lit --> 'CHAR'
    action 'QUESTION' (noprec):   reduce lit --> 'CHAR'
    action 'BRA' (noprec):   reduce lit --> 'CHAR'
    action 'KET' (noprec):   reduce lit --> 'CHAR'
    action 'CURBRA' (noprec):   reduce lit --> 'CHAR'
    action 'CURKET' (noprec):   reduce lit --> 'CHAR'
    action 'SQBRA' (noprec):   reduce lit --> 'CHAR'
    action 'SQKET' (noprec):   reduce lit --> 'CHAR'
    action 'PLUS' (noprec):   reduce lit --> 'CHAR'
    action 'MINUS' (noprec):   reduce lit --> 'CHAR'
    action 'SLASH' (noprec):   reduce lit --> 'CHAR'
    action 'PLUSDOT' (noprec):   reduce lit --> 'CHAR'
    action 'MINUSDOT' (noprec):   reduce lit --> 'CHAR'
    action 'MOD' (noprec):   reduce lit --> 'CHAR'
    action 'NEQ' (noprec):   reduce lit --> 'CHAR'
    action 'LT' (noprec):   reduce lit --> 'CHAR'
    action 'GT' (noprec):   reduce lit --> 'CHAR'
    action 'LEQ' (noprec):   reduce lit --> 'CHAR'
    action 'GEQ' (noprec):   reduce lit --> 'CHAR'
    action 'AND' (noprec):   reduce lit --> 'CHAR'
    action 'NOT' (noprec):   reduce lit --> 'CHAR'
    action 'PIPE' (noprec):   reduce lit --> 'CHAR'
    action 'AMP' (noprec):   reduce lit --> 'CHAR'
    action 'BANG' (noprec):   reduce lit --> 'CHAR'
    action 'COLONGT' (noprec):   reduce lit --> 'CHAR'
    action 'COLON' (noprec):   reduce lit --> 'CHAR'
    action 'COLON2' (noprec):   reduce lit --> 'CHAR'
    action 'SEMICOLON' (noprec):   reduce lit --> 'CHAR'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'CHAR'
    action 'DOT' (noprec):   reduce lit --> 'CHAR'
    action 'COMMA' (noprec):   reduce lit --> 'CHAR'
    action 'ASSIGN' (noprec):   reduce lit --> 'CHAR'
    action 'STRING' (noprec):   reduce lit --> 'CHAR'
    action 'UID' (noprec):   reduce lit --> 'CHAR'
    action 'LID' (noprec):   reduce lit --> 'CHAR'
    action 'INFIX' (noprec):   reduce lit --> 'CHAR'
    action 'TICK_ID' (noprec):   reduce lit --> 'CHAR'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'CHAR'
    action 'AT_ID' (noprec):   reduce lit --> 'CHAR'
    action 'CHAR' (noprec):   reduce lit --> 'CHAR'
    action 'FLOAT' (noprec):   reduce lit --> 'CHAR'
    action 'INT32' (noprec):   reduce lit --> 'CHAR'
    action 'AT_INT32' (noprec):   reduce lit --> 'CHAR'
    action 'error' (noprec):   reduce lit --> 'CHAR'
    action '#' (noprec):   reduce lit --> 'CHAR'
    action '$$' (noprec):   reduce lit --> 'CHAR'
  immediate action:   reduce lit --> 'CHAR'  gotos:state 524:  items:    lit -> 'BRA' . 'KET'
    patt_app_atom_ -> 'BRA' . symbol 'KET'
    patt_app_atom_ -> 'BRA' . patt 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (explicit left 9989):   shift 508
    action 'STAR' (explicit left 9992):   shift 505
    action 'ARROW' (explicit right 9985):   shift 516
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (explicit left 9987):   shift 515
    action 'DOUBLEPIPE' (explicit left 9986):   shift 514
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   shift 525
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (explicit left 9990):   shift 503
    action 'MINUS' (explicit left 9990):   shift 504
    action 'SLASH' (explicit left 9992):   shift 506
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (explicit left 9992):   shift 507
    action 'NEQ' (explicit left 9989):   shift 509
    action 'LT' (explicit left 9989):   shift 510
    action 'GT' (explicit left 9989):   shift 511
    action 'LEQ' (explicit left 9989):   shift 512
    action 'GEQ' (explicit left 9989):   shift 513
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (explicit left 9991):   shift 517
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto symbol: 563
    goto lit: 568
    goto patt: 542
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 525:  items:    lit -> 'BRA' 'KET' . 
  actions:    action 'EOF' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'TYPE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'EQ' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'STAR' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'ARROW' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'VAL' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'OVER' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BRAGT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'LTKET' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BRALT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'GTKET' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'HASH' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'DO' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'INJECT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'EJECT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'IMPLIES' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'DATATYPE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'DATA' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'FORALL' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BOTTOM' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'LET' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'REC' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'IN' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'IF' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'THEN' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'ELSE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'FUN' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'MATCH' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'WHEN' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'WITH' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'FUNCTION' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'TRUE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'FALSE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'AS' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'OF' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'NAMESPACE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'OPEN' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'WHERE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'OVERLOAD' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'DOUBLEAMP' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'UNDERSCORE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BACKSLASH' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'KIND' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'QUESTION' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BRA' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'KET' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'CURBRA' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'CURKET' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'SQBRA' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'SQKET' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'PLUS' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'MINUS' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'SLASH' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'PLUSDOT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'MINUSDOT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'MOD' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'NEQ' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'LT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'GT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'LEQ' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'GEQ' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'AND' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'NOT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'PIPE' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'AMP' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BANG' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'COLONGT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'COLON' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'COLON2' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'SEMICOLON' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'SEMICOLON2' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'DOT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'COMMA' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'ASSIGN' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'STRING' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'UID' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'LID' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'INFIX' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'TICK_ID' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'BACKTICK_ID' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'AT_ID' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'CHAR' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'FLOAT' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'INT32' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'AT_INT32' (noprec):   reduce lit --> 'BRA' 'KET'
    action 'error' (noprec):   reduce lit --> 'BRA' 'KET'
    action '#' (noprec):   reduce lit --> 'BRA' 'KET'
    action '$$' (noprec):   reduce lit --> 'BRA' 'KET'
  immediate action:   reduce lit --> 'BRA' 'KET'  gotos:state 526:  items:    expr_list -> expr_stmts . 
  actions:    action 'EOF' (noprec):   reduce expr_list --> expr_stmts
    action 'TYPE' (noprec):   reduce expr_list --> expr_stmts
    action 'EQ' (noprec):   reduce expr_list --> expr_stmts
    action 'STAR' (noprec):   reduce expr_list --> expr_stmts
    action 'ARROW' (noprec):   reduce expr_list --> expr_stmts
    action 'VAL' (noprec):   reduce expr_list --> expr_stmts
    action 'OVER' (noprec):   reduce expr_list --> expr_stmts
    action 'BRAGT' (noprec):   reduce expr_list --> expr_stmts
    action 'LTKET' (noprec):   reduce expr_list --> expr_stmts
    action 'BRALT' (noprec):   reduce expr_list --> expr_stmts
    action 'GTKET' (noprec):   reduce expr_list --> expr_stmts
    action 'HASH' (noprec):   reduce expr_list --> expr_stmts
    action 'DO' (noprec):   reduce expr_list --> expr_stmts
    action 'INJECT' (noprec):   reduce expr_list --> expr_stmts
    action 'EJECT' (noprec):   reduce expr_list --> expr_stmts
    action 'IMPLIES' (noprec):   reduce expr_list --> expr_stmts
    action 'DATATYPE' (noprec):   reduce expr_list --> expr_stmts
    action 'DATA' (noprec):   reduce expr_list --> expr_stmts
    action 'FORALL' (noprec):   reduce expr_list --> expr_stmts
    action 'BOTTOM' (noprec):   reduce expr_list --> expr_stmts
    action 'LET' (noprec):   reduce expr_list --> expr_stmts
    action 'REC' (noprec):   reduce expr_list --> expr_stmts
    action 'IN' (noprec):   reduce expr_list --> expr_stmts
    action 'IF' (noprec):   reduce expr_list --> expr_stmts
    action 'THEN' (noprec):   reduce expr_list --> expr_stmts
    action 'ELSE' (noprec):   reduce expr_list --> expr_stmts
    action 'FUN' (noprec):   reduce expr_list --> expr_stmts
    action 'MATCH' (noprec):   reduce expr_list --> expr_stmts
    action 'WHEN' (noprec):   reduce expr_list --> expr_stmts
    action 'WITH' (noprec):   reduce expr_list --> expr_stmts
    action 'FUNCTION' (noprec):   reduce expr_list --> expr_stmts
    action 'TRUE' (noprec):   reduce expr_list --> expr_stmts
    action 'FALSE' (noprec):   reduce expr_list --> expr_stmts
    action 'AS' (noprec):   reduce expr_list --> expr_stmts
    action 'OF' (noprec):   reduce expr_list --> expr_stmts
    action 'NAMESPACE' (noprec):   reduce expr_list --> expr_stmts
    action 'OPEN' (noprec):   reduce expr_list --> expr_stmts
    action 'WHERE' (noprec):   reduce expr_list --> expr_stmts
    action 'OVERLOAD' (noprec):   reduce expr_list --> expr_stmts
    action 'DOUBLEAMP' (noprec):   reduce expr_list --> expr_stmts
    action 'DOUBLEPIPE' (noprec):   reduce expr_list --> expr_stmts
    action 'UNDERSCORE' (noprec):   reduce expr_list --> expr_stmts
    action 'BACKSLASH' (noprec):   reduce expr_list --> expr_stmts
    action 'KIND' (noprec):   reduce expr_list --> expr_stmts
    action 'QUESTION' (noprec):   reduce expr_list --> expr_stmts
    action 'BRA' (noprec):   reduce expr_list --> expr_stmts
    action 'KET' (noprec):   reduce expr_list --> expr_stmts
    action 'CURBRA' (noprec):   reduce expr_list --> expr_stmts
    action 'CURKET' (noprec):   reduce expr_list --> expr_stmts
    action 'SQBRA' (noprec):   reduce expr_list --> expr_stmts
    action 'SQKET' (noprec):   reduce expr_list --> expr_stmts
    action 'PLUS' (noprec):   reduce expr_list --> expr_stmts
    action 'MINUS' (noprec):   reduce expr_list --> expr_stmts
    action 'SLASH' (noprec):   reduce expr_list --> expr_stmts
    action 'PLUSDOT' (noprec):   reduce expr_list --> expr_stmts
    action 'MINUSDOT' (noprec):   reduce expr_list --> expr_stmts
    action 'MOD' (noprec):   reduce expr_list --> expr_stmts
    action 'NEQ' (noprec):   reduce expr_list --> expr_stmts
    action 'LT' (noprec):   reduce expr_list --> expr_stmts
    action 'GT' (noprec):   reduce expr_list --> expr_stmts
    action 'LEQ' (noprec):   reduce expr_list --> expr_stmts
    action 'GEQ' (noprec):   reduce expr_list --> expr_stmts
    action 'AND' (noprec):   reduce expr_list --> expr_stmts
    action 'NOT' (noprec):   reduce expr_list --> expr_stmts
    action 'PIPE' (noprec):   reduce expr_list --> expr_stmts
    action 'AMP' (noprec):   reduce expr_list --> expr_stmts
    action 'BANG' (noprec):   reduce expr_list --> expr_stmts
    action 'COLONGT' (noprec):   reduce expr_list --> expr_stmts
    action 'COLON' (noprec):   reduce expr_list --> expr_stmts
    action 'COLON2' (noprec):   reduce expr_list --> expr_stmts
    action 'SEMICOLON' (noprec):   reduce expr_list --> expr_stmts
    action 'SEMICOLON2' (noprec):   reduce expr_list --> expr_stmts
    action 'DOT' (noprec):   reduce expr_list --> expr_stmts
    action 'COMMA' (noprec):   reduce expr_list --> expr_stmts
    action 'ASSIGN' (noprec):   reduce expr_list --> expr_stmts
    action 'STRING' (noprec):   reduce expr_list --> expr_stmts
    action 'UID' (noprec):   reduce expr_list --> expr_stmts
    action 'LID' (noprec):   reduce expr_list --> expr_stmts
    action 'INFIX' (noprec):   reduce expr_list --> expr_stmts
    action 'TICK_ID' (noprec):   reduce expr_list --> expr_stmts
    action 'BACKTICK_ID' (noprec):   reduce expr_list --> expr_stmts
    action 'AT_ID' (noprec):   reduce expr_list --> expr_stmts
    action 'CHAR' (noprec):   reduce expr_list --> expr_stmts
    action 'FLOAT' (noprec):   reduce expr_list --> expr_stmts
    action 'INT32' (noprec):   reduce expr_list --> expr_stmts
    action 'AT_INT32' (noprec):   reduce expr_list --> expr_stmts
    action 'error' (noprec):   reduce expr_list --> expr_stmts
    action '#' (noprec):   reduce expr_list --> expr_stmts
    action '$$' (noprec):   reduce expr_list --> expr_stmts
  immediate action:   reduce expr_list --> expr_stmts  gotos:state 527:  items:    expr_record_atom -> expr_stmt_atom . 
  actions:    action 'EOF' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'TYPE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'EQ' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'STAR' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'ARROW' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'VAL' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'OVER' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BRAGT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'LTKET' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BRALT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'GTKET' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'HASH' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'DO' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'INJECT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'EJECT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'IMPLIES' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'DATATYPE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'DATA' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'FORALL' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BOTTOM' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'LET' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'REC' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'IN' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'IF' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'THEN' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'ELSE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'FUN' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'MATCH' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'WHEN' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'WITH' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'FUNCTION' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'TRUE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'FALSE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'AS' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'OF' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'NAMESPACE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'OPEN' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'WHERE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'OVERLOAD' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'DOUBLEAMP' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'DOUBLEPIPE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'UNDERSCORE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BACKSLASH' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'KIND' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'QUESTION' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BRA' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'KET' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'CURBRA' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'CURKET' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'SQBRA' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'SQKET' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'PLUS' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'MINUS' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'SLASH' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'PLUSDOT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'MINUSDOT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'MOD' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'NEQ' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'LT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'GT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'LEQ' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'GEQ' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'AND' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'NOT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'PIPE' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'AMP' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BANG' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'COLONGT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'COLON' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'COLON2' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'SEMICOLON' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'SEMICOLON2' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'DOT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'COMMA' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'ASSIGN' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'STRING' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'UID' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'LID' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'INFIX' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'TICK_ID' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'BACKTICK_ID' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'AT_ID' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'CHAR' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'FLOAT' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'INT32' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'AT_INT32' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action 'error' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action '#' (noprec):   reduce expr_record_atom --> expr_stmt_atom
    action '$$' (noprec):   reduce expr_record_atom --> expr_stmt_atom
  immediate action:   reduce expr_record_atom --> expr_stmt_atom  gotos:state 528:  items:    record -> id . 'EQ' expr_record_atom
    record -> id . 'EQ' expr_record_atom 'SEMICOLON' record
    record -> id . 
    record -> id . 'SEMICOLON' record
  actions:    action 'EOF' (noprec):   reduce record --> id
    action 'TYPE' (noprec):   reduce record --> id
    action 'EQ' (explicit left 9989):   shift 529
    action 'STAR' (noprec):   reduce record --> id
    action 'ARROW' (noprec):   reduce record --> id
    action 'VAL' (noprec):   reduce record --> id
    action 'OVER' (noprec):   reduce record --> id
    action 'BRAGT' (noprec):   reduce record --> id
    action 'LTKET' (noprec):   reduce record --> id
    action 'BRALT' (noprec):   reduce record --> id
    action 'GTKET' (noprec):   reduce record --> id
    action 'HASH' (noprec):   reduce record --> id
    action 'DO' (noprec):   reduce record --> id
    action 'INJECT' (noprec):   reduce record --> id
    action 'EJECT' (noprec):   reduce record --> id
    action 'IMPLIES' (noprec):   reduce record --> id
    action 'DATATYPE' (noprec):   reduce record --> id
    action 'DATA' (noprec):   reduce record --> id
    action 'FORALL' (noprec):   reduce record --> id
    action 'BOTTOM' (noprec):   reduce record --> id
    action 'LET' (noprec):   reduce record --> id
    action 'REC' (noprec):   reduce record --> id
    action 'IN' (noprec):   reduce record --> id
    action 'IF' (noprec):   reduce record --> id
    action 'THEN' (noprec):   reduce record --> id
    action 'ELSE' (noprec):   reduce record --> id
    action 'FUN' (noprec):   reduce record --> id
    action 'MATCH' (noprec):   reduce record --> id
    action 'WHEN' (noprec):   reduce record --> id
    action 'WITH' (noprec):   reduce record --> id
    action 'FUNCTION' (noprec):   reduce record --> id
    action 'TRUE' (noprec):   reduce record --> id
    action 'FALSE' (noprec):   reduce record --> id
    action 'AS' (noprec):   reduce record --> id
    action 'OF' (noprec):   reduce record --> id
    action 'NAMESPACE' (noprec):   reduce record --> id
    action 'OPEN' (noprec):   reduce record --> id
    action 'WHERE' (noprec):   reduce record --> id
    action 'OVERLOAD' (noprec):   reduce record --> id
    action 'DOUBLEAMP' (noprec):   reduce record --> id
    action 'DOUBLEPIPE' (noprec):   reduce record --> id
    action 'UNDERSCORE' (noprec):   reduce record --> id
    action 'BACKSLASH' (noprec):   reduce record --> id
    action 'KIND' (noprec):   reduce record --> id
    action 'QUESTION' (noprec):   reduce record --> id
    action 'BRA' (noprec):   reduce record --> id
    action 'KET' (noprec):   reduce record --> id
    action 'CURBRA' (noprec):   reduce record --> id
    action 'CURKET' (noprec):   reduce record --> id
    action 'SQBRA' (noprec):   reduce record --> id
    action 'SQKET' (noprec):   reduce record --> id
    action 'PLUS' (noprec):   reduce record --> id
    action 'MINUS' (noprec):   reduce record --> id
    action 'SLASH' (noprec):   reduce record --> id
    action 'PLUSDOT' (noprec):   reduce record --> id
    action 'MINUSDOT' (noprec):   reduce record --> id
    action 'MOD' (noprec):   reduce record --> id
    action 'NEQ' (noprec):   reduce record --> id
    action 'LT' (noprec):   reduce record --> id
    action 'GT' (noprec):   reduce record --> id
    action 'LEQ' (noprec):   reduce record --> id
    action 'GEQ' (noprec):   reduce record --> id
    action 'AND' (noprec):   reduce record --> id
    action 'NOT' (noprec):   reduce record --> id
    action 'PIPE' (noprec):   reduce record --> id
    action 'AMP' (noprec):   reduce record --> id
    action 'BANG' (noprec):   reduce record --> id
    action 'COLONGT' (noprec):   reduce record --> id
    action 'COLON' (noprec):   reduce record --> id
    action 'COLON2' (noprec):   reduce record --> id
    action 'SEMICOLON' (explicit right 9980):   shift 533
    action 'SEMICOLON2' (noprec):   reduce record --> id
    action 'DOT' (noprec):   reduce record --> id
    action 'COMMA' (noprec):   reduce record --> id
    action 'ASSIGN' (noprec):   reduce record --> id
    action 'STRING' (noprec):   reduce record --> id
    action 'UID' (noprec):   reduce record --> id
    action 'LID' (noprec):   reduce record --> id
    action 'INFIX' (noprec):   reduce record --> id
    action 'TICK_ID' (noprec):   reduce record --> id
    action 'BACKTICK_ID' (noprec):   reduce record --> id
    action 'AT_ID' (noprec):   reduce record --> id
    action 'CHAR' (noprec):   reduce record --> id
    action 'FLOAT' (noprec):   reduce record --> id
    action 'INT32' (noprec):   reduce record --> id
    action 'AT_INT32' (noprec):   reduce record --> id
    action 'error' (noprec):   reduce record --> id
    action '#' (noprec):   reduce record --> id
    action '$$' (noprec):   reduce record --> id
  immediate action: <none>  gotos:state 529:  items:    record -> id 'EQ' . expr_record_atom
    record -> id 'EQ' . expr_record_atom 'SEMICOLON' record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (explicit nonassoc 9995):   shift 377
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   shift 408
    action 'EJECT' (noprec):   shift 409
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   shift 357
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   shift 361
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   shift 367
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 448
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 459
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 465
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9990):   shift 410
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (explicit nonassoc 9997):   shift 424
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 443
    action 'BACKTICK_ID' (noprec):   shift 444
    action 'AT_ID' (noprec):   shift 445
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   shift 446
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 442
    goto expr_stmt_atom: 527
    goto expr_app_atom: 382
    goto expr_tuple_atom: 371
    goto expr_stmt_atom_: 339
    goto expr_tuple_atom_: 341
    goto expr_app_atom_: 340
    goto lit: 447
    goto expr_record_atom: 530
state 530:  items:    record -> id 'EQ' expr_record_atom . 
    record -> id 'EQ' expr_record_atom . 'SEMICOLON' record
  actions:    action 'EOF' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'TYPE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'EQ' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'STAR' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'ARROW' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'VAL' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'OVER' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BRAGT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'LTKET' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BRALT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'GTKET' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'HASH' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'DO' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'INJECT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'EJECT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'IMPLIES' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'DATATYPE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'DATA' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'FORALL' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BOTTOM' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'LET' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'REC' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'IN' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'IF' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'THEN' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'ELSE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'FUN' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'MATCH' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'WHEN' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'WITH' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'FUNCTION' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'TRUE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'FALSE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'AS' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'OF' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'NAMESPACE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'OPEN' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'WHERE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'OVERLOAD' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'DOUBLEAMP' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'DOUBLEPIPE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'UNDERSCORE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BACKSLASH' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'KIND' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'QUESTION' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BRA' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'KET' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'CURBRA' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'CURKET' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'SQBRA' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'SQKET' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'PLUS' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'MINUS' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'SLASH' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'PLUSDOT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'MINUSDOT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'MOD' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'NEQ' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'LT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'GT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'LEQ' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'GEQ' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'AND' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'NOT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'PIPE' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'AMP' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BANG' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'COLONGT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'COLON' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'COLON2' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'SEMICOLON' (explicit right 9980):   shift 531
    action 'SEMICOLON2' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'DOT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'COMMA' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'ASSIGN' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'STRING' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'UID' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'LID' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'INFIX' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'TICK_ID' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'BACKTICK_ID' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'AT_ID' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'CHAR' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'FLOAT' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'INT32' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'AT_INT32' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action 'error' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action '#' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
    action '$$' (explicit left 9989):   reduce record --> id 'EQ' expr_record_atom
  immediate action: <none>  gotos:state 531:  items:    record -> id 'EQ' expr_record_atom 'SEMICOLON' . record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 528
    goto record: 532
state 532:  items:    record -> id 'EQ' expr_record_atom 'SEMICOLON' record . 
  actions:    action 'EOF' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'TYPE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'EQ' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'STAR' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'ARROW' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'VAL' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'OVER' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BRAGT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'LTKET' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BRALT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'GTKET' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'HASH' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'DO' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'INJECT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'EJECT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'IMPLIES' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'DATATYPE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'DATA' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'FORALL' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BOTTOM' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'LET' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'REC' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'IN' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'IF' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'THEN' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'ELSE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'FUN' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'MATCH' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'WHEN' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'WITH' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'FUNCTION' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'TRUE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'FALSE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'AS' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'OF' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'NAMESPACE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'OPEN' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'WHERE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'OVERLOAD' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'DOUBLEAMP' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'DOUBLEPIPE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'UNDERSCORE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BACKSLASH' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'KIND' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'QUESTION' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BRA' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'KET' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'CURBRA' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'CURKET' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'SQBRA' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'SQKET' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'PLUS' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'MINUS' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'SLASH' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'PLUSDOT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'MINUSDOT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'MOD' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'NEQ' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'LT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'GT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'LEQ' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'GEQ' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'AND' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'NOT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'PIPE' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'AMP' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BANG' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'COLONGT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'COLON' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'COLON2' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'SEMICOLON' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'SEMICOLON2' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'DOT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'COMMA' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'ASSIGN' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'STRING' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'UID' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'LID' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'INFIX' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'TICK_ID' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'BACKTICK_ID' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'AT_ID' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'CHAR' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'FLOAT' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'INT32' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'AT_INT32' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action 'error' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action '#' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
    action '$$' (explicit right 9980):   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record
  immediate action:   reduce record --> id 'EQ' expr_record_atom 'SEMICOLON' record  gotos:state 533:  items:    record -> id 'SEMICOLON' . record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 528
    goto record: 534
state 534:  items:    record -> id 'SEMICOLON' record . 
  actions:    action 'EOF' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'TYPE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'EQ' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'STAR' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'ARROW' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'VAL' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'OVER' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BRAGT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'LTKET' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BRALT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'GTKET' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'HASH' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'DO' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'INJECT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'EJECT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'IMPLIES' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'DATATYPE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'DATA' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'FORALL' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BOTTOM' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'LET' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'REC' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'IN' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'IF' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'THEN' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'ELSE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'FUN' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'MATCH' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'WHEN' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'WITH' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'FUNCTION' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'TRUE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'FALSE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'AS' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'OF' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'NAMESPACE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'OPEN' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'WHERE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'OVERLOAD' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'DOUBLEAMP' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'DOUBLEPIPE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'UNDERSCORE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BACKSLASH' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'KIND' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'QUESTION' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BRA' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'KET' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'CURBRA' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'CURKET' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'SQBRA' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'SQKET' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'PLUS' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'MINUS' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'SLASH' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'PLUSDOT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'MINUSDOT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'MOD' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'NEQ' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'LT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'GT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'LEQ' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'GEQ' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'AND' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'NOT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'PIPE' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'AMP' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BANG' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'COLONGT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'COLON' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'COLON2' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'SEMICOLON' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'SEMICOLON2' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'DOT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'COMMA' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'ASSIGN' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'STRING' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'UID' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'LID' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'INFIX' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'TICK_ID' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'BACKTICK_ID' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'AT_ID' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'CHAR' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'FLOAT' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'INT32' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'AT_INT32' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action 'error' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action '#' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
    action '$$' (explicit right 9980):   reduce record --> id 'SEMICOLON' record
  immediate action:   reduce record --> id 'SEMICOLON' record  gotos:state 535:  items:    patt -> patt_ . 
  actions:    action 'EOF' (noprec):   reduce patt --> patt_
    action 'TYPE' (noprec):   reduce patt --> patt_
    action 'EQ' (noprec):   reduce patt --> patt_
    action 'STAR' (noprec):   reduce patt --> patt_
    action 'ARROW' (noprec):   reduce patt --> patt_
    action 'VAL' (noprec):   reduce patt --> patt_
    action 'OVER' (noprec):   reduce patt --> patt_
    action 'BRAGT' (noprec):   reduce patt --> patt_
    action 'LTKET' (noprec):   reduce patt --> patt_
    action 'BRALT' (noprec):   reduce patt --> patt_
    action 'GTKET' (noprec):   reduce patt --> patt_
    action 'HASH' (noprec):   reduce patt --> patt_
    action 'DO' (noprec):   reduce patt --> patt_
    action 'INJECT' (noprec):   reduce patt --> patt_
    action 'EJECT' (noprec):   reduce patt --> patt_
    action 'IMPLIES' (noprec):   reduce patt --> patt_
    action 'DATATYPE' (noprec):   reduce patt --> patt_
    action 'DATA' (noprec):   reduce patt --> patt_
    action 'FORALL' (noprec):   reduce patt --> patt_
    action 'BOTTOM' (noprec):   reduce patt --> patt_
    action 'LET' (noprec):   reduce patt --> patt_
    action 'REC' (noprec):   reduce patt --> patt_
    action 'IN' (noprec):   reduce patt --> patt_
    action 'IF' (noprec):   reduce patt --> patt_
    action 'THEN' (noprec):   reduce patt --> patt_
    action 'ELSE' (noprec):   reduce patt --> patt_
    action 'FUN' (noprec):   reduce patt --> patt_
    action 'MATCH' (noprec):   reduce patt --> patt_
    action 'WHEN' (noprec):   reduce patt --> patt_
    action 'WITH' (noprec):   reduce patt --> patt_
    action 'FUNCTION' (noprec):   reduce patt --> patt_
    action 'TRUE' (noprec):   reduce patt --> patt_
    action 'FALSE' (noprec):   reduce patt --> patt_
    action 'AS' (noprec):   reduce patt --> patt_
    action 'OF' (noprec):   reduce patt --> patt_
    action 'NAMESPACE' (noprec):   reduce patt --> patt_
    action 'OPEN' (noprec):   reduce patt --> patt_
    action 'WHERE' (noprec):   reduce patt --> patt_
    action 'OVERLOAD' (noprec):   reduce patt --> patt_
    action 'DOUBLEAMP' (noprec):   reduce patt --> patt_
    action 'DOUBLEPIPE' (noprec):   reduce patt --> patt_
    action 'UNDERSCORE' (noprec):   reduce patt --> patt_
    action 'BACKSLASH' (noprec):   reduce patt --> patt_
    action 'KIND' (noprec):   reduce patt --> patt_
    action 'QUESTION' (noprec):   reduce patt --> patt_
    action 'BRA' (noprec):   reduce patt --> patt_
    action 'KET' (noprec):   reduce patt --> patt_
    action 'CURBRA' (noprec):   reduce patt --> patt_
    action 'CURKET' (noprec):   reduce patt --> patt_
    action 'SQBRA' (noprec):   reduce patt --> patt_
    action 'SQKET' (noprec):   reduce patt --> patt_
    action 'PLUS' (noprec):   reduce patt --> patt_
    action 'MINUS' (noprec):   reduce patt --> patt_
    action 'SLASH' (noprec):   reduce patt --> patt_
    action 'PLUSDOT' (noprec):   reduce patt --> patt_
    action 'MINUSDOT' (noprec):   reduce patt --> patt_
    action 'MOD' (noprec):   reduce patt --> patt_
    action 'NEQ' (noprec):   reduce patt --> patt_
    action 'LT' (noprec):   reduce patt --> patt_
    action 'GT' (noprec):   reduce patt --> patt_
    action 'LEQ' (noprec):   reduce patt --> patt_
    action 'GEQ' (noprec):   reduce patt --> patt_
    action 'AND' (noprec):   reduce patt --> patt_
    action 'NOT' (noprec):   reduce patt --> patt_
    action 'PIPE' (noprec):   reduce patt --> patt_
    action 'AMP' (noprec):   reduce patt --> patt_
    action 'BANG' (noprec):   reduce patt --> patt_
    action 'COLONGT' (noprec):   reduce patt --> patt_
    action 'COLON' (noprec):   reduce patt --> patt_
    action 'COLON2' (noprec):   reduce patt --> patt_
    action 'SEMICOLON' (noprec):   reduce patt --> patt_
    action 'SEMICOLON2' (noprec):   reduce patt --> patt_
    action 'DOT' (noprec):   reduce patt --> patt_
    action 'COMMA' (noprec):   reduce patt --> patt_
    action 'ASSIGN' (noprec):   reduce patt --> patt_
    action 'STRING' (noprec):   reduce patt --> patt_
    action 'UID' (noprec):   reduce patt --> patt_
    action 'LID' (noprec):   reduce patt --> patt_
    action 'INFIX' (noprec):   reduce patt --> patt_
    action 'TICK_ID' (noprec):   reduce patt --> patt_
    action 'BACKTICK_ID' (noprec):   reduce patt --> patt_
    action 'AT_ID' (noprec):   reduce patt --> patt_
    action 'CHAR' (noprec):   reduce patt --> patt_
    action 'FLOAT' (noprec):   reduce patt --> patt_
    action 'INT32' (noprec):   reduce patt --> patt_
    action 'AT_INT32' (noprec):   reduce patt --> patt_
    action 'error' (noprec):   reduce patt --> patt_
    action '#' (noprec):   reduce patt --> patt_
    action '$$' (noprec):   reduce patt --> patt_
  immediate action:   reduce patt --> patt_  gotos:state 536:  items:    patt_arrow_atom -> patt_arrow_atom_ . 
  actions:    action 'EOF' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'TYPE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'EQ' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'STAR' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'ARROW' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'VAL' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'OVER' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BRAGT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'LTKET' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BRALT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'GTKET' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'HASH' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'DO' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'INJECT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'EJECT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'IMPLIES' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'DATATYPE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'DATA' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'FORALL' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BOTTOM' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'LET' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'REC' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'IN' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'IF' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'THEN' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'ELSE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'FUN' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'MATCH' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'WHEN' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'WITH' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'FUNCTION' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'TRUE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'FALSE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'AS' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'OF' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'NAMESPACE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'OPEN' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'WHERE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'OVERLOAD' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'DOUBLEAMP' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'DOUBLEPIPE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'UNDERSCORE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BACKSLASH' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'KIND' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'QUESTION' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BRA' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'KET' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'CURBRA' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'CURKET' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'SQBRA' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'SQKET' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'PLUS' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'MINUS' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'SLASH' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'PLUSDOT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'MINUSDOT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'MOD' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'NEQ' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'LT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'GT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'LEQ' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'GEQ' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'AND' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'NOT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'PIPE' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'AMP' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BANG' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'COLONGT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'COLON' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'COLON2' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'SEMICOLON' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'SEMICOLON2' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'DOT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'COMMA' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'ASSIGN' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'STRING' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'UID' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'LID' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'INFIX' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'TICK_ID' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'BACKTICK_ID' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'AT_ID' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'CHAR' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'FLOAT' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'INT32' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'AT_INT32' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action 'error' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action '#' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
    action '$$' (noprec):   reduce patt_arrow_atom --> patt_arrow_atom_
  immediate action:   reduce patt_arrow_atom --> patt_arrow_atom_  gotos:state 537:  items:    patt_tuple_atom -> patt_tuple_atom_ . 
  actions:    action 'EOF' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'TYPE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'EQ' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'STAR' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'ARROW' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'VAL' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'OVER' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BRAGT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'LTKET' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BRALT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'GTKET' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'HASH' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'DO' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'INJECT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'EJECT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'IMPLIES' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'DATATYPE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'DATA' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'FORALL' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BOTTOM' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'LET' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'REC' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'IN' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'IF' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'THEN' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'ELSE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'FUN' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'MATCH' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'WHEN' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'WITH' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'FUNCTION' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'TRUE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'FALSE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'AS' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'OF' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'NAMESPACE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'OPEN' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'WHERE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'OVERLOAD' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'DOUBLEAMP' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'DOUBLEPIPE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'UNDERSCORE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BACKSLASH' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'KIND' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'QUESTION' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BRA' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'KET' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'CURBRA' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'CURKET' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'SQBRA' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'SQKET' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'PLUS' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'MINUS' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'SLASH' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'PLUSDOT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'MINUSDOT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'MOD' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'NEQ' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'LT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'GT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'LEQ' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'GEQ' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'AND' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'NOT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'PIPE' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'AMP' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BANG' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'COLONGT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'COLON' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'COLON2' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'SEMICOLON' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'SEMICOLON2' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'DOT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'COMMA' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'ASSIGN' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'STRING' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'UID' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'LID' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'INFIX' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'TICK_ID' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'BACKTICK_ID' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'AT_ID' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'CHAR' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'FLOAT' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'INT32' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'AT_INT32' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action 'error' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action '#' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
    action '$$' (noprec):   reduce patt_tuple_atom --> patt_tuple_atom_
  immediate action:   reduce patt_tuple_atom --> patt_tuple_atom_  gotos:state 538:  items:    patt_app_atom -> patt_app_atom_ . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'TYPE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'EQ' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'STAR' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'ARROW' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'VAL' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'OVER' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BRAGT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'LTKET' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BRALT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'GTKET' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'HASH' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'DO' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'INJECT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'EJECT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'IMPLIES' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'DATATYPE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'DATA' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'FORALL' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BOTTOM' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'LET' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'REC' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'IN' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'IF' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'THEN' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'ELSE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'FUN' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'MATCH' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'WHEN' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'WITH' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'FUNCTION' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'TRUE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'FALSE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'AS' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'OF' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'NAMESPACE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'OPEN' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'WHERE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'OVERLOAD' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BACKSLASH' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'KIND' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'QUESTION' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BRA' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'KET' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'CURBRA' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'CURKET' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'SQBRA' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'SQKET' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'PLUS' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'MINUS' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'SLASH' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'PLUSDOT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'MINUSDOT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'MOD' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'NEQ' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'LT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'GT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'LEQ' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'GEQ' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'AND' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'NOT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'PIPE' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'AMP' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BANG' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'COLONGT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'COLON' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'COLON2' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'SEMICOLON' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'DOT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'COMMA' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'ASSIGN' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'STRING' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'UID' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'LID' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'INFIX' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'TICK_ID' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'AT_ID' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'CHAR' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'FLOAT' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'INT32' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'AT_INT32' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action 'error' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action '#' (noprec):   reduce patt_app_atom --> patt_app_atom_
    action '$$' (noprec):   reduce patt_app_atom --> patt_app_atom_
  immediate action:   reduce patt_app_atom --> patt_app_atom_  gotos:state 539:  items:    patt_ -> patt_arrow_atom . 
    patt_arrow_atom_ -> patt_arrow_atom . 'COLON2' patt_arrow_atom
  actions:    action 'EOF' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'TYPE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'EQ' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'STAR' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'ARROW' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'VAL' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'OVER' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BRAGT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'LTKET' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BRALT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'GTKET' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'HASH' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'DO' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'INJECT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'EJECT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'IMPLIES' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'DATATYPE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'DATA' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'FORALL' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BOTTOM' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'LET' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'REC' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'IN' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'IF' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'THEN' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'ELSE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'FUN' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'MATCH' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'WHEN' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'WITH' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'FUNCTION' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'TRUE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'FALSE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'AS' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'OF' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'NAMESPACE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'OPEN' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'WHERE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'OVERLOAD' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'DOUBLEAMP' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'DOUBLEPIPE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'UNDERSCORE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BACKSLASH' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'KIND' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'QUESTION' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BRA' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'KET' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'CURBRA' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'CURKET' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'SQBRA' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'SQKET' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'PLUS' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'MINUS' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'SLASH' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'PLUSDOT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'MINUSDOT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'MOD' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'NEQ' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'LT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'GT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'LEQ' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'GEQ' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'AND' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'NOT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'PIPE' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'AMP' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BANG' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'COLONGT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'COLON' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'COLON2' (explicit right 9988):   shift 551
    action 'SEMICOLON' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'SEMICOLON2' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'DOT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'COMMA' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'ASSIGN' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'STRING' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'UID' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'LID' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'INFIX' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'TICK_ID' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'BACKTICK_ID' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'AT_ID' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'CHAR' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'FLOAT' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'INT32' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'AT_INT32' (noprec):   reduce patt_ --> patt_arrow_atom
    action 'error' (noprec):   reduce patt_ --> patt_arrow_atom
    action '#' (noprec):   reduce patt_ --> patt_arrow_atom
    action '$$' (noprec):   reduce patt_ --> patt_arrow_atom
  immediate action: <none>  gotos:state 540:  items:    patt_ -> patt . 'PIPE' patt
    patt_ -> patt 'PIPE' patt . 
    patt_ -> patt . 'AMP' patt
  actions:    action 'EOF' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'TYPE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'EQ' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'STAR' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'ARROW' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'VAL' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'OVER' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'BRAGT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'LTKET' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'BRALT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'GTKET' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'HASH' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'DO' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'INJECT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'EJECT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'IMPLIES' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'DATATYPE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'DATA' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'FORALL' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'BOTTOM' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'LET' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'REC' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'IN' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'IF' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'THEN' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'ELSE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'FUN' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'MATCH' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'WHEN' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'WITH' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'FUNCTION' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'TRUE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'FALSE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'AS' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'OF' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'NAMESPACE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'OPEN' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'WHERE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'OVERLOAD' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'DOUBLEAMP' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'DOUBLEPIPE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'UNDERSCORE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'BACKSLASH' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'KIND' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'QUESTION' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'BRA' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'KET' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'CURBRA' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'CURKET' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'SQBRA' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'SQKET' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'PLUS' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'MINUS' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'SLASH' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'PLUSDOT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'MINUSDOT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'MOD' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'NEQ' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'LT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'GT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'LEQ' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'GEQ' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'AND' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'NOT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'PIPE' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'COLONGT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'COLON' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'COLON2' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'SEMICOLON' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'SEMICOLON2' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'DOT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'COMMA' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'ASSIGN' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'STRING' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'UID' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'LID' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'INFIX' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'TICK_ID' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'BACKTICK_ID' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'AT_ID' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'CHAR' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'FLOAT' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'INT32' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'AT_INT32' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action 'error' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action '#' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
    action '$$' (explicit left 9986):   reduce patt_ --> patt 'PIPE' patt
  immediate action: <none>  gotos:state 541:  items:    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
    patt_ -> patt 'AMP' patt . 
  actions:    action 'EOF' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'TYPE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'EQ' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'STAR' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'ARROW' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'VAL' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'OVER' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BRAGT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'LTKET' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BRALT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'GTKET' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'HASH' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'DO' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'INJECT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'EJECT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'IMPLIES' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'DATATYPE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'DATA' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'FORALL' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BOTTOM' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'LET' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'REC' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'IN' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'IF' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'THEN' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'ELSE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'FUN' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'MATCH' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'WHEN' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'WITH' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'FUNCTION' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'TRUE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'FALSE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'AS' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'OF' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'NAMESPACE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'OPEN' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'WHERE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'OVERLOAD' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'DOUBLEAMP' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'DOUBLEPIPE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'UNDERSCORE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BACKSLASH' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'KIND' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'QUESTION' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BRA' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'KET' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'CURBRA' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'CURKET' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'SQBRA' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'SQKET' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'PLUS' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'MINUS' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'SLASH' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'PLUSDOT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'MINUSDOT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'MOD' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'NEQ' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'LT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'GT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'LEQ' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'GEQ' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'AND' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'NOT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'PIPE' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'AMP' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BANG' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'COLONGT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'COLON' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'COLON2' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'SEMICOLON' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'SEMICOLON2' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'DOT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'COMMA' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'ASSIGN' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'STRING' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'UID' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'LID' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'INFIX' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'TICK_ID' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'BACKTICK_ID' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'AT_ID' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'CHAR' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'FLOAT' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'INT32' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'AT_INT32' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action 'error' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action '#' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
    action '$$' (explicit left 9987):   reduce patt_ --> patt 'AMP' patt
  immediate action: <none>  gotos:state 542:  items:    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
    patt_app_atom_ -> 'BRA' patt . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 567
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (explicit left 9986):   shift 545
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 543:  items:    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
    patt_record_item -> id 'EQ' patt . 
  actions:    action 'EOF' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'TYPE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'EQ' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'STAR' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'ARROW' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'VAL' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'OVER' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'BRAGT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'LTKET' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'BRALT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'GTKET' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'HASH' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'DO' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'INJECT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'EJECT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'IMPLIES' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'DATATYPE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'DATA' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'FORALL' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'BOTTOM' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'LET' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'REC' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'IN' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'IF' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'THEN' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'ELSE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'FUN' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'MATCH' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'WHEN' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'WITH' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'FUNCTION' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'TRUE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'FALSE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'AS' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'OF' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'NAMESPACE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'OPEN' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'WHERE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'OVERLOAD' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'DOUBLEAMP' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'DOUBLEPIPE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'UNDERSCORE' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'BACKSLASH' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'KIND' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'QUESTION' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'BRA' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'KET' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'CURBRA' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'CURKET' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'SQBRA' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'SQKET' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'PLUS' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'MINUS' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'SLASH' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'PLUSDOT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'MINUSDOT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'MOD' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'NEQ' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'LT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'GT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'LEQ' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'GEQ' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'AND' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'NOT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'PIPE' (explicit left 9986):   shift 545
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'COLONGT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'COLON' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'COLON2' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'SEMICOLON' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'SEMICOLON2' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'DOT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'COMMA' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'ASSIGN' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'STRING' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'UID' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'LID' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'INFIX' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'TICK_ID' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'BACKTICK_ID' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'AT_ID' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'CHAR' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'FLOAT' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'INT32' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'AT_INT32' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action 'error' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action '#' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
    action '$$' (explicit left 9989):   reduce patt_record_item --> id 'EQ' patt
  immediate action: <none>  gotos:state 544:  items:    patt_ -> patt . 'PIPE' patt
    patt_ -> patt . 'AMP' patt
    patt_list -> patt . 
    patt_list -> patt . 'SEMICOLON' patt_list
  actions:    action 'EOF' (noprec):   reduce patt_list --> patt
    action 'TYPE' (noprec):   reduce patt_list --> patt
    action 'EQ' (noprec):   reduce patt_list --> patt
    action 'STAR' (noprec):   reduce patt_list --> patt
    action 'ARROW' (noprec):   reduce patt_list --> patt
    action 'VAL' (noprec):   reduce patt_list --> patt
    action 'OVER' (noprec):   reduce patt_list --> patt
    action 'BRAGT' (noprec):   reduce patt_list --> patt
    action 'LTKET' (noprec):   reduce patt_list --> patt
    action 'BRALT' (noprec):   reduce patt_list --> patt
    action 'GTKET' (noprec):   reduce patt_list --> patt
    action 'HASH' (noprec):   reduce patt_list --> patt
    action 'DO' (noprec):   reduce patt_list --> patt
    action 'INJECT' (noprec):   reduce patt_list --> patt
    action 'EJECT' (noprec):   reduce patt_list --> patt
    action 'IMPLIES' (noprec):   reduce patt_list --> patt
    action 'DATATYPE' (noprec):   reduce patt_list --> patt
    action 'DATA' (noprec):   reduce patt_list --> patt
    action 'FORALL' (noprec):   reduce patt_list --> patt
    action 'BOTTOM' (noprec):   reduce patt_list --> patt
    action 'LET' (noprec):   reduce patt_list --> patt
    action 'REC' (noprec):   reduce patt_list --> patt
    action 'IN' (noprec):   reduce patt_list --> patt
    action 'IF' (noprec):   reduce patt_list --> patt
    action 'THEN' (noprec):   reduce patt_list --> patt
    action 'ELSE' (noprec):   reduce patt_list --> patt
    action 'FUN' (noprec):   reduce patt_list --> patt
    action 'MATCH' (noprec):   reduce patt_list --> patt
    action 'WHEN' (noprec):   reduce patt_list --> patt
    action 'WITH' (noprec):   reduce patt_list --> patt
    action 'FUNCTION' (noprec):   reduce patt_list --> patt
    action 'TRUE' (noprec):   reduce patt_list --> patt
    action 'FALSE' (noprec):   reduce patt_list --> patt
    action 'AS' (noprec):   reduce patt_list --> patt
    action 'OF' (noprec):   reduce patt_list --> patt
    action 'NAMESPACE' (noprec):   reduce patt_list --> patt
    action 'OPEN' (noprec):   reduce patt_list --> patt
    action 'WHERE' (noprec):   reduce patt_list --> patt
    action 'OVERLOAD' (noprec):   reduce patt_list --> patt
    action 'DOUBLEAMP' (noprec):   reduce patt_list --> patt
    action 'DOUBLEPIPE' (noprec):   reduce patt_list --> patt
    action 'UNDERSCORE' (noprec):   reduce patt_list --> patt
    action 'BACKSLASH' (noprec):   reduce patt_list --> patt
    action 'KIND' (noprec):   reduce patt_list --> patt
    action 'QUESTION' (noprec):   reduce patt_list --> patt
    action 'BRA' (noprec):   reduce patt_list --> patt
    action 'KET' (noprec):   reduce patt_list --> patt
    action 'CURBRA' (noprec):   reduce patt_list --> patt
    action 'CURKET' (noprec):   reduce patt_list --> patt
    action 'SQBRA' (noprec):   reduce patt_list --> patt
    action 'SQKET' (noprec):   reduce patt_list --> patt
    action 'PLUS' (noprec):   reduce patt_list --> patt
    action 'MINUS' (noprec):   reduce patt_list --> patt
    action 'SLASH' (noprec):   reduce patt_list --> patt
    action 'PLUSDOT' (noprec):   reduce patt_list --> patt
    action 'MINUSDOT' (noprec):   reduce patt_list --> patt
    action 'MOD' (noprec):   reduce patt_list --> patt
    action 'NEQ' (noprec):   reduce patt_list --> patt
    action 'LT' (noprec):   reduce patt_list --> patt
    action 'GT' (noprec):   reduce patt_list --> patt
    action 'LEQ' (noprec):   reduce patt_list --> patt
    action 'GEQ' (noprec):   reduce patt_list --> patt
    action 'AND' (noprec):   reduce patt_list --> patt
    action 'NOT' (noprec):   reduce patt_list --> patt
    action 'PIPE' (explicit left 9986):   shift 545
    action 'AMP' (explicit left 9987):   shift 546
    action 'BANG' (noprec):   reduce patt_list --> patt
    action 'COLONGT' (noprec):   reduce patt_list --> patt
    action 'COLON' (noprec):   reduce patt_list --> patt
    action 'COLON2' (noprec):   reduce patt_list --> patt
    action 'SEMICOLON' (explicit right 9980):   shift 581
    action 'SEMICOLON2' (noprec):   reduce patt_list --> patt
    action 'DOT' (noprec):   reduce patt_list --> patt
    action 'COMMA' (noprec):   reduce patt_list --> patt
    action 'ASSIGN' (noprec):   reduce patt_list --> patt
    action 'STRING' (noprec):   reduce patt_list --> patt
    action 'UID' (noprec):   reduce patt_list --> patt
    action 'LID' (noprec):   reduce patt_list --> patt
    action 'INFIX' (noprec):   reduce patt_list --> patt
    action 'TICK_ID' (noprec):   reduce patt_list --> patt
    action 'BACKTICK_ID' (noprec):   reduce patt_list --> patt
    action 'AT_ID' (noprec):   reduce patt_list --> patt
    action 'CHAR' (noprec):   reduce patt_list --> patt
    action 'FLOAT' (noprec):   reduce patt_list --> patt
    action 'INT32' (noprec):   reduce patt_list --> patt
    action 'AT_INT32' (noprec):   reduce patt_list --> patt
    action 'error' (noprec):   reduce patt_list --> patt
    action '#' (noprec):   reduce patt_list --> patt
    action '$$' (noprec):   reduce patt_list --> patt
  immediate action: <none>  gotos:state 545:  items:    patt_ -> patt 'PIPE' . patt
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt: 540
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 546:  items:    patt_ -> patt 'AMP' . patt
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt: 541
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 547:  items:    patt_arrow_atom_ -> patt_tuple_atom . 
    patt_arrow_atom_ -> patt_tuple_atom . 'COMMA' patt_tuple
    patt_tuple_atom_ -> patt_tuple_atom . patt_app_atom
    patt_tuple_atom_ -> patt_tuple_atom . 'COLON' fxty_expr
  actions:    action 'EOF' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'TYPE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'EQ' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'STAR' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'ARROW' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'VAL' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'OVER' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'BRAGT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'LTKET' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'BRALT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'GTKET' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'HASH' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'DO' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'INJECT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'EJECT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'IMPLIES' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'DATATYPE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'DATA' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'FORALL' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'BOTTOM' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'LET' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'REC' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'IN' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'IF' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'THEN' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'ELSE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'FUN' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'MATCH' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'WHEN' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'WITH' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'FUNCTION' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'OF' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'NAMESPACE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'OPEN' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'WHERE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'OVERLOAD' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'KIND' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'QUESTION' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'PLUS' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'MINUS' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'SLASH' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'PLUSDOT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'MINUSDOT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'MOD' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'NEQ' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'LT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'GT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'LEQ' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'GEQ' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'AND' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'NOT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'PIPE' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'AMP' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'BANG' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'COLONGT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'COLON' (noprec):   shift 557
    action 'COLON2' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'SEMICOLON' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'DOT' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 548
    action 'ASSIGN' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'TICK_ID' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action 'error' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action '#' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
    action '$$' (noprec):   reduce patt_arrow_atom_ --> patt_tuple_atom
  immediate action: <none>  gotos:    goto lit: 568
    goto patt_app_atom: 556
    goto patt_app_atom_: 538
state 548:  items:    patt_arrow_atom_ -> patt_tuple_atom 'COMMA' . patt_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt_tuple_atom: 555
    goto patt_app_atom: 552
    goto patt_tuple_atom_: 537
    goto patt_tuple: 549
    goto patt_app_atom_: 538
state 549:  items:    patt_arrow_atom_ -> patt_tuple_atom 'COMMA' patt_tuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'TYPE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'EQ' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'STAR' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'ARROW' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'VAL' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OVER' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BRAGT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LTKET' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BRALT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'GTKET' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'HASH' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DO' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'INJECT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'EJECT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'IMPLIES' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DATATYPE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DATA' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FORALL' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BOTTOM' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LET' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'REC' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'IN' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'IF' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'THEN' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'ELSE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FUN' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MATCH' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'WHEN' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'WITH' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FUNCTION' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'TRUE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FALSE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AS' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OF' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'NAMESPACE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OPEN' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'WHERE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OVERLOAD' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'UNDERSCORE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BACKSLASH' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'KIND' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'QUESTION' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BRA' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'KET' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'CURBRA' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'CURKET' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SQBRA' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SQKET' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'PLUS' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MINUS' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SLASH' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'PLUSDOT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MINUSDOT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MOD' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'NEQ' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'GT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LEQ' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'GEQ' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AND' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'NOT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'PIPE' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AMP' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BANG' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COLONGT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COLON' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COLON2' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SEMICOLON' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SEMICOLON2' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DOT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COMMA' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'ASSIGN' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'STRING' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'UID' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LID' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'INFIX' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'TICK_ID' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AT_ID' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'CHAR' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FLOAT' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'INT32' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AT_INT32' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action 'error' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action '#' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
    action '$$' (explicit left 9984):   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple
  immediate action:   reduce patt_arrow_atom_ --> patt_tuple_atom 'COMMA' patt_tuple  gotos:state 550:  items:    patt_arrow_atom_ -> patt_arrow_atom . 'COLON2' patt_arrow_atom
    patt_arrow_atom_ -> patt_arrow_atom 'COLON2' patt_arrow_atom . 
  actions:    action 'EOF' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'TYPE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'EQ' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'STAR' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'ARROW' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'VAL' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'OVER' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BRAGT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'LTKET' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BRALT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'GTKET' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'HASH' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'DO' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'INJECT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'EJECT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'IMPLIES' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'DATATYPE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'DATA' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'FORALL' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BOTTOM' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'LET' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'REC' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'IN' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'IF' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'THEN' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'ELSE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'FUN' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'MATCH' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'WHEN' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'WITH' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'FUNCTION' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'TRUE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'FALSE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'AS' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'OF' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'NAMESPACE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'OPEN' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'WHERE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'OVERLOAD' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'DOUBLEAMP' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'DOUBLEPIPE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'UNDERSCORE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BACKSLASH' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'KIND' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'QUESTION' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BRA' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'KET' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'CURBRA' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'CURKET' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'SQBRA' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'SQKET' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'PLUS' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'MINUS' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'SLASH' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'PLUSDOT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'MINUSDOT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'MOD' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'NEQ' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'LT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'GT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'LEQ' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'GEQ' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'AND' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'NOT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'PIPE' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'AMP' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BANG' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'COLONGT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'COLON' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'COLON2' (explicit right 9988):   shift 551
    action 'SEMICOLON' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'SEMICOLON2' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'DOT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'COMMA' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'ASSIGN' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'STRING' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'UID' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'LID' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'INFIX' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'TICK_ID' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'BACKTICK_ID' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'AT_ID' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'CHAR' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'FLOAT' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'INT32' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'AT_INT32' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action 'error' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action '#' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
    action '$$' (explicit right 9988):   reduce patt_arrow_atom_ --> patt_arrow_atom 'COLON2' patt_arrow_atom
  immediate action: <none>  gotos:state 551:  items:    patt_arrow_atom_ -> patt_arrow_atom 'COLON2' . patt_arrow_atom
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt_arrow_atom: 550
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 552:  items:    patt_tuple_atom_ -> patt_app_atom . 
    patt_tuple_atom_ -> patt_app_atom . 'AS' 'LID'
  actions:    action 'EOF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'TYPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'EQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'STAR' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'ARROW' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'VAL' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'OVER' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BRAGT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LTKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BRALT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'GTKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'HASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DO' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'INJECT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'EJECT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'IMPLIES' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DATATYPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DATA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FORALL' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BOTTOM' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'REC' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'IN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'IF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'THEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'ELSE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FUN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MATCH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'WHEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'WITH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FUNCTION' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'TRUE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FALSE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AS' (explicit left 9983):   shift 553
    action 'OF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'NAMESPACE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'OPEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'WHERE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'OVERLOAD' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DOUBLEAMP' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DOUBLEPIPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'UNDERSCORE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BACKSLASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'KIND' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'QUESTION' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BRA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'KET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'CURBRA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'CURKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SQBRA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SQKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'PLUS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MINUS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SLASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'PLUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MINUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'MOD' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'NEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'GT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'GEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AND' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'NOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'PIPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AMP' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BANG' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COLONGT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COLON' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COLON2' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SEMICOLON' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'SEMICOLON2' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'DOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'COMMA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'ASSIGN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'STRING' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'UID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'LID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'INFIX' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'TICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'BACKTICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AT_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'CHAR' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'FLOAT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'INT32' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'AT_INT32' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action 'error' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action '#' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
    action '$$' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom
  immediate action: <none>  gotos:state 553:  items:    patt_tuple_atom_ -> patt_app_atom 'AS' . 'LID'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   shift 554
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 554:  items:    patt_tuple_atom_ -> patt_app_atom 'AS' 'LID' . 
  actions:    action 'EOF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'TYPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'EQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'STAR' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'ARROW' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'VAL' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'OVER' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BRAGT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'LTKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BRALT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'GTKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'HASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'DO' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'INJECT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'EJECT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'IMPLIES' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'DATATYPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'DATA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'FORALL' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BOTTOM' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'LET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'REC' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'IN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'IF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'THEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'ELSE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'FUN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'MATCH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'WHEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'WITH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'FUNCTION' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'TRUE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'FALSE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'AS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'OF' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'NAMESPACE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'OPEN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'WHERE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'OVERLOAD' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'DOUBLEAMP' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'DOUBLEPIPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'UNDERSCORE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BACKSLASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'KIND' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'QUESTION' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BRA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'KET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'CURBRA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'CURKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'SQBRA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'SQKET' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'PLUS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'MINUS' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'SLASH' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'PLUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'MINUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'MOD' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'NEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'LT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'GT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'LEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'GEQ' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'AND' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'NOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'PIPE' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'AMP' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BANG' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'COLONGT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'COLON' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'COLON2' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'SEMICOLON' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'SEMICOLON2' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'DOT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'COMMA' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'ASSIGN' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'STRING' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'UID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'LID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'INFIX' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'TICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'BACKTICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'AT_ID' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'CHAR' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'FLOAT' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'INT32' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'AT_INT32' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action 'error' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action '#' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
    action '$$' (noprec):   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'
  immediate action:   reduce patt_tuple_atom_ --> patt_app_atom 'AS' 'LID'  gotos:state 555:  items:    patt_tuple_atom_ -> patt_tuple_atom . patt_app_atom
    patt_tuple_atom_ -> patt_tuple_atom . 'COLON' fxty_expr
    patt_tuple -> patt_tuple_atom . 
    patt_tuple -> patt_tuple_atom . 'COMMA' patt_tuple
  actions:    action 'EOF' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'TYPE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'EQ' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'STAR' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'ARROW' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'VAL' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'OVER' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'BRAGT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'LTKET' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'BRALT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'GTKET' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'HASH' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'DO' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'INJECT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'EJECT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'IMPLIES' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'DATATYPE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'DATA' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'FORALL' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'BOTTOM' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'LET' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'REC' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'IN' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'IF' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'THEN' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'ELSE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'FUN' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'MATCH' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'WHEN' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'WITH' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'FUNCTION' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'OF' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'NAMESPACE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'OPEN' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'WHERE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'OVERLOAD' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'DOUBLEAMP' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'DOUBLEPIPE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'KIND' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'QUESTION' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'PLUS' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'MINUS' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'SLASH' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'PLUSDOT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'MINUSDOT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'MOD' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'NEQ' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'LT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'GT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'LEQ' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'GEQ' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'AND' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'NOT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'PIPE' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'AMP' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'BANG' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'COLONGT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'COLON' (noprec):   shift 557
    action 'COLON2' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'SEMICOLON' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'DOT' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'COMMA' (explicit left 9984):   shift 559
    action 'ASSIGN' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'TICK_ID' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action 'error' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action '#' (noprec):   reduce patt_tuple --> patt_tuple_atom
    action '$$' (noprec):   reduce patt_tuple --> patt_tuple_atom
  immediate action: <none>  gotos:    goto lit: 568
    goto patt_app_atom: 556
    goto patt_app_atom_: 538
state 556:  items:    patt_tuple_atom_ -> patt_tuple_atom patt_app_atom . 
  actions:    action 'EOF' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'TYPE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'EQ' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'STAR' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'ARROW' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'VAL' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'OVER' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BRAGT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'LTKET' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BRALT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'GTKET' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'HASH' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'DO' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'INJECT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'EJECT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'IMPLIES' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'DATATYPE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'DATA' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'FORALL' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BOTTOM' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'LET' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'REC' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'IN' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'IF' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'THEN' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'ELSE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'FUN' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'MATCH' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'WHEN' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'WITH' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'FUNCTION' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'TRUE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'FALSE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'AS' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'OF' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'NAMESPACE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'OPEN' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'WHERE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'OVERLOAD' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'DOUBLEAMP' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'DOUBLEPIPE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'UNDERSCORE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BACKSLASH' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'KIND' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'QUESTION' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BRA' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'KET' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'CURBRA' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'CURKET' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'SQBRA' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'SQKET' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'PLUS' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'MINUS' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'SLASH' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'PLUSDOT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'MINUSDOT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'MOD' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'NEQ' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'LT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'GT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'LEQ' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'GEQ' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'AND' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'NOT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'PIPE' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'AMP' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BANG' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'COLONGT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'COLON' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'COLON2' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'SEMICOLON' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'DOT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'COMMA' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'ASSIGN' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'STRING' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'UID' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'LID' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'INFIX' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'TICK_ID' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'BACKTICK_ID' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'AT_ID' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'CHAR' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'FLOAT' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'INT32' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'AT_INT32' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action 'error' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action '#' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
    action '$$' (explicit left 9996):   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom
  immediate action:   reduce patt_tuple_atom_ --> patt_tuple_atom patt_app_atom  gotos:state 557:  items:    patt_tuple_atom_ -> patt_tuple_atom 'COLON' . fxty_expr
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   shift 203
    action 'BOTTOM' (noprec):   shift 207
    action 'LET' (noprec):   shift 229
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 221
    action 'MATCH' (noprec):   shift 225
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   shift 223
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 253
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 254
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 257
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   shift 252
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 251
    goto fxty_expr: 558
    goto fxty_expr_: 202
    goto ty_expr_tuple_atom: 241
    goto ty_expr_htuple_atom: 233
    goto ty_expr_app_atom: 247
    goto ty_expr_unquantified: 210
    goto ty_expr_unquantified_: 215
    goto ty_expr_htuple_atom_: 213
    goto ty_expr_tuple_atom_: 212
    goto ty_expr_app_atom_: 214
state 558:  items:    patt_tuple_atom_ -> patt_tuple_atom 'COLON' fxty_expr . 
  actions:    action 'EOF' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'TYPE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'EQ' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'STAR' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'ARROW' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'VAL' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'OVER' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BRAGT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'LTKET' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BRALT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'GTKET' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'HASH' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'DO' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'INJECT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'EJECT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'IMPLIES' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'DATATYPE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'DATA' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'FORALL' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BOTTOM' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'LET' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'REC' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'IN' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'IF' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'THEN' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'ELSE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'FUN' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'MATCH' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'WHEN' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'WITH' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'FUNCTION' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'TRUE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'FALSE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'AS' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'OF' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'NAMESPACE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'OPEN' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'WHERE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'OVERLOAD' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'DOUBLEAMP' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'DOUBLEPIPE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'UNDERSCORE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BACKSLASH' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'KIND' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'QUESTION' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BRA' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'KET' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'CURBRA' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'CURKET' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'SQBRA' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'SQKET' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'PLUS' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'MINUS' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'SLASH' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'PLUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'MINUSDOT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'MOD' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'NEQ' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'LT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'GT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'LEQ' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'GEQ' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'AND' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'NOT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'PIPE' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'AMP' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BANG' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'COLONGT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'COLON' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'COLON2' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'SEMICOLON' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'SEMICOLON2' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'DOT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'COMMA' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'ASSIGN' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'STRING' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'UID' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'LID' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'INFIX' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'TICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'BACKTICK_ID' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'AT_ID' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'CHAR' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'FLOAT' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'INT32' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'AT_INT32' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action 'error' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action '#' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
    action '$$' (noprec):   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr
  immediate action:   reduce patt_tuple_atom_ --> patt_tuple_atom 'COLON' fxty_expr  gotos:state 559:  items:    patt_tuple -> patt_tuple_atom 'COMMA' . patt_tuple
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt_tuple_atom: 555
    goto patt_app_atom: 552
    goto patt_tuple_atom_: 537
    goto patt_tuple: 560
    goto patt_app_atom_: 538
state 560:  items:    patt_tuple -> patt_tuple_atom 'COMMA' patt_tuple . 
  actions:    action 'EOF' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'TYPE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'EQ' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'STAR' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'ARROW' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'VAL' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OVER' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BRAGT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LTKET' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BRALT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'GTKET' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'HASH' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DO' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'INJECT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'EJECT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'IMPLIES' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DATATYPE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DATA' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FORALL' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BOTTOM' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LET' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'REC' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'IN' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'IF' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'THEN' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'ELSE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FUN' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MATCH' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'WHEN' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'WITH' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FUNCTION' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'TRUE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FALSE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AS' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OF' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'NAMESPACE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OPEN' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'WHERE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'OVERLOAD' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DOUBLEAMP' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DOUBLEPIPE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'UNDERSCORE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BACKSLASH' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'KIND' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'QUESTION' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BRA' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'KET' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'CURBRA' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'CURKET' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SQBRA' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SQKET' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'PLUS' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MINUS' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SLASH' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'PLUSDOT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MINUSDOT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'MOD' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'NEQ' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'GT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LEQ' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'GEQ' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AND' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'NOT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'PIPE' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AMP' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BANG' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COLONGT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COLON' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COLON2' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SEMICOLON' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'SEMICOLON2' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'DOT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'COMMA' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'ASSIGN' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'STRING' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'UID' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'LID' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'INFIX' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'TICK_ID' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'BACKTICK_ID' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AT_ID' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'CHAR' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'FLOAT' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'INT32' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'AT_INT32' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action 'error' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action '#' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
    action '$$' (explicit left 9984):   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple
  immediate action:   reduce patt_tuple --> patt_tuple_atom 'COMMA' patt_tuple  gotos:state 561:  items:    patt_app_atom_ -> 'LID' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'LID'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'LID'
    action '#' (noprec):   reduce patt_app_atom_ --> 'LID'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'LID'
  immediate action:   reduce patt_app_atom_ --> 'LID'  gotos:state 562:  items:    patt_app_atom_ -> 'UID' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'UID'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'UID'
    action '#' (noprec):   reduce patt_app_atom_ --> 'UID'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'UID'
  immediate action:   reduce patt_app_atom_ --> 'UID'  gotos:state 563:  items:    patt_app_atom_ -> 'BRA' symbol . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 564
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 564:  items:    patt_app_atom_ -> 'BRA' symbol 'KET' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action '#' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'BRA' symbol 'KET'
  immediate action:   reduce patt_app_atom_ --> 'BRA' symbol 'KET'  gotos:state 565:  items:    patt_app_atom_ -> 'BACKTICK_ID' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action '#' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'BACKTICK_ID'
  immediate action:   reduce patt_app_atom_ --> 'BACKTICK_ID'  gotos:state 566:  items:    patt_app_atom_ -> 'UNDERSCORE' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action '#' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'UNDERSCORE'
  immediate action:   reduce patt_app_atom_ --> 'UNDERSCORE'  gotos:state 567:  items:    patt_app_atom_ -> 'BRA' patt 'KET' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action '#' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'BRA' patt 'KET'
  immediate action:   reduce patt_app_atom_ --> 'BRA' patt 'KET'  gotos:state 568:  items:    patt_app_atom_ -> lit . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> lit
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> lit
    action 'EQ' (noprec):   reduce patt_app_atom_ --> lit
    action 'STAR' (noprec):   reduce patt_app_atom_ --> lit
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> lit
    action 'VAL' (noprec):   reduce patt_app_atom_ --> lit
    action 'OVER' (noprec):   reduce patt_app_atom_ --> lit
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> lit
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> lit
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> lit
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> lit
    action 'HASH' (noprec):   reduce patt_app_atom_ --> lit
    action 'DO' (noprec):   reduce patt_app_atom_ --> lit
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> lit
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> lit
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> lit
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> lit
    action 'DATA' (noprec):   reduce patt_app_atom_ --> lit
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> lit
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> lit
    action 'LET' (noprec):   reduce patt_app_atom_ --> lit
    action 'REC' (noprec):   reduce patt_app_atom_ --> lit
    action 'IN' (noprec):   reduce patt_app_atom_ --> lit
    action 'IF' (noprec):   reduce patt_app_atom_ --> lit
    action 'THEN' (noprec):   reduce patt_app_atom_ --> lit
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> lit
    action 'FUN' (noprec):   reduce patt_app_atom_ --> lit
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> lit
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> lit
    action 'WITH' (noprec):   reduce patt_app_atom_ --> lit
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> lit
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> lit
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> lit
    action 'AS' (noprec):   reduce patt_app_atom_ --> lit
    action 'OF' (noprec):   reduce patt_app_atom_ --> lit
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> lit
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> lit
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> lit
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> lit
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> lit
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> lit
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> lit
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> lit
    action 'KIND' (noprec):   reduce patt_app_atom_ --> lit
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> lit
    action 'BRA' (noprec):   reduce patt_app_atom_ --> lit
    action 'KET' (noprec):   reduce patt_app_atom_ --> lit
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> lit
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> lit
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> lit
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> lit
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> lit
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> lit
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> lit
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> lit
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> lit
    action 'MOD' (noprec):   reduce patt_app_atom_ --> lit
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> lit
    action 'LT' (noprec):   reduce patt_app_atom_ --> lit
    action 'GT' (noprec):   reduce patt_app_atom_ --> lit
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> lit
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> lit
    action 'AND' (noprec):   reduce patt_app_atom_ --> lit
    action 'NOT' (noprec):   reduce patt_app_atom_ --> lit
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> lit
    action 'AMP' (noprec):   reduce patt_app_atom_ --> lit
    action 'BANG' (noprec):   reduce patt_app_atom_ --> lit
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> lit
    action 'COLON' (noprec):   reduce patt_app_atom_ --> lit
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> lit
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> lit
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> lit
    action 'DOT' (noprec):   reduce patt_app_atom_ --> lit
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> lit
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> lit
    action 'STRING' (noprec):   reduce patt_app_atom_ --> lit
    action 'UID' (noprec):   reduce patt_app_atom_ --> lit
    action 'LID' (noprec):   reduce patt_app_atom_ --> lit
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> lit
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> lit
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> lit
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> lit
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> lit
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> lit
    action 'INT32' (noprec):   reduce patt_app_atom_ --> lit
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> lit
    action 'error' (noprec):   reduce patt_app_atom_ --> lit
    action '#' (noprec):   reduce patt_app_atom_ --> lit
    action '$$' (noprec):   reduce patt_app_atom_ --> lit
  immediate action:   reduce patt_app_atom_ --> lit  gotos:state 569:  items:    patt_app_atom_ -> 'CURBRA' . patt_record 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 576
    goto patt_record_item: 578
    goto patt_record: 570
state 570:  items:    patt_app_atom_ -> 'CURBRA' patt_record . 'CURKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   shift 571
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 571:  items:    patt_app_atom_ -> 'CURBRA' patt_record 'CURKET' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action '#' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'
  immediate action:   reduce patt_app_atom_ --> 'CURBRA' patt_record 'CURKET'  gotos:state 572:  items:    patt_app_atom_ -> 'SQBRA' . 'SQKET'
    patt_app_atom_ -> 'SQBRA' . patt_list 'SQKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   shift 573
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt: 544
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
    goto patt_list: 574
state 573:  items:    patt_app_atom_ -> 'SQBRA' 'SQKET' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action '#' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'
  immediate action:   reduce patt_app_atom_ --> 'SQBRA' 'SQKET'  gotos:state 574:  items:    patt_app_atom_ -> 'SQBRA' patt_list . 'SQKET'
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   shift 575
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   error
    action 'LID' (noprec):   error
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 575:  items:    patt_app_atom_ -> 'SQBRA' patt_list 'SQKET' . 
  actions:    action 'EOF' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'TYPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'EQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'STAR' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'ARROW' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'VAL' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'OVER' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BRAGT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'LTKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BRALT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'GTKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'HASH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'DO' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'INJECT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'EJECT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'IMPLIES' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'DATATYPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'DATA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'FORALL' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BOTTOM' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'LET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'REC' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'IN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'IF' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'THEN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'ELSE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'FUN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'MATCH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'WHEN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'WITH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'FUNCTION' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'TRUE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'FALSE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'AS' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'OF' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'NAMESPACE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'OPEN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'WHERE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'OVERLOAD' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'DOUBLEAMP' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'DOUBLEPIPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'UNDERSCORE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BACKSLASH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'KIND' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'QUESTION' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BRA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'KET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'CURBRA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'CURKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'SQBRA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'SQKET' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'PLUS' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'MINUS' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'SLASH' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'PLUSDOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'MINUSDOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'MOD' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'NEQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'LT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'GT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'LEQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'GEQ' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'AND' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'NOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'PIPE' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'AMP' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BANG' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'COLONGT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'COLON' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'COLON2' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'SEMICOLON' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'SEMICOLON2' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'DOT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'COMMA' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'ASSIGN' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'STRING' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'UID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'LID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'INFIX' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'TICK_ID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'BACKTICK_ID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'AT_ID' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'CHAR' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'FLOAT' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'INT32' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'AT_INT32' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action 'error' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action '#' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
    action '$$' (noprec):   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'
  immediate action:   reduce patt_app_atom_ --> 'SQBRA' patt_list 'SQKET'  gotos:state 576:  items:    patt_record_item -> id . 'EQ' patt
    patt_record_item -> id . 
  actions:    action 'EOF' (noprec):   reduce patt_record_item --> id
    action 'TYPE' (noprec):   reduce patt_record_item --> id
    action 'EQ' (explicit left 9989):   shift 577
    action 'STAR' (noprec):   reduce patt_record_item --> id
    action 'ARROW' (noprec):   reduce patt_record_item --> id
    action 'VAL' (noprec):   reduce patt_record_item --> id
    action 'OVER' (noprec):   reduce patt_record_item --> id
    action 'BRAGT' (noprec):   reduce patt_record_item --> id
    action 'LTKET' (noprec):   reduce patt_record_item --> id
    action 'BRALT' (noprec):   reduce patt_record_item --> id
    action 'GTKET' (noprec):   reduce patt_record_item --> id
    action 'HASH' (noprec):   reduce patt_record_item --> id
    action 'DO' (noprec):   reduce patt_record_item --> id
    action 'INJECT' (noprec):   reduce patt_record_item --> id
    action 'EJECT' (noprec):   reduce patt_record_item --> id
    action 'IMPLIES' (noprec):   reduce patt_record_item --> id
    action 'DATATYPE' (noprec):   reduce patt_record_item --> id
    action 'DATA' (noprec):   reduce patt_record_item --> id
    action 'FORALL' (noprec):   reduce patt_record_item --> id
    action 'BOTTOM' (noprec):   reduce patt_record_item --> id
    action 'LET' (noprec):   reduce patt_record_item --> id
    action 'REC' (noprec):   reduce patt_record_item --> id
    action 'IN' (noprec):   reduce patt_record_item --> id
    action 'IF' (noprec):   reduce patt_record_item --> id
    action 'THEN' (noprec):   reduce patt_record_item --> id
    action 'ELSE' (noprec):   reduce patt_record_item --> id
    action 'FUN' (noprec):   reduce patt_record_item --> id
    action 'MATCH' (noprec):   reduce patt_record_item --> id
    action 'WHEN' (noprec):   reduce patt_record_item --> id
    action 'WITH' (noprec):   reduce patt_record_item --> id
    action 'FUNCTION' (noprec):   reduce patt_record_item --> id
    action 'TRUE' (noprec):   reduce patt_record_item --> id
    action 'FALSE' (noprec):   reduce patt_record_item --> id
    action 'AS' (noprec):   reduce patt_record_item --> id
    action 'OF' (noprec):   reduce patt_record_item --> id
    action 'NAMESPACE' (noprec):   reduce patt_record_item --> id
    action 'OPEN' (noprec):   reduce patt_record_item --> id
    action 'WHERE' (noprec):   reduce patt_record_item --> id
    action 'OVERLOAD' (noprec):   reduce patt_record_item --> id
    action 'DOUBLEAMP' (noprec):   reduce patt_record_item --> id
    action 'DOUBLEPIPE' (noprec):   reduce patt_record_item --> id
    action 'UNDERSCORE' (noprec):   reduce patt_record_item --> id
    action 'BACKSLASH' (noprec):   reduce patt_record_item --> id
    action 'KIND' (noprec):   reduce patt_record_item --> id
    action 'QUESTION' (noprec):   reduce patt_record_item --> id
    action 'BRA' (noprec):   reduce patt_record_item --> id
    action 'KET' (noprec):   reduce patt_record_item --> id
    action 'CURBRA' (noprec):   reduce patt_record_item --> id
    action 'CURKET' (noprec):   reduce patt_record_item --> id
    action 'SQBRA' (noprec):   reduce patt_record_item --> id
    action 'SQKET' (noprec):   reduce patt_record_item --> id
    action 'PLUS' (noprec):   reduce patt_record_item --> id
    action 'MINUS' (noprec):   reduce patt_record_item --> id
    action 'SLASH' (noprec):   reduce patt_record_item --> id
    action 'PLUSDOT' (noprec):   reduce patt_record_item --> id
    action 'MINUSDOT' (noprec):   reduce patt_record_item --> id
    action 'MOD' (noprec):   reduce patt_record_item --> id
    action 'NEQ' (noprec):   reduce patt_record_item --> id
    action 'LT' (noprec):   reduce patt_record_item --> id
    action 'GT' (noprec):   reduce patt_record_item --> id
    action 'LEQ' (noprec):   reduce patt_record_item --> id
    action 'GEQ' (noprec):   reduce patt_record_item --> id
    action 'AND' (noprec):   reduce patt_record_item --> id
    action 'NOT' (noprec):   reduce patt_record_item --> id
    action 'PIPE' (noprec):   reduce patt_record_item --> id
    action 'AMP' (noprec):   reduce patt_record_item --> id
    action 'BANG' (noprec):   reduce patt_record_item --> id
    action 'COLONGT' (noprec):   reduce patt_record_item --> id
    action 'COLON' (noprec):   reduce patt_record_item --> id
    action 'COLON2' (noprec):   reduce patt_record_item --> id
    action 'SEMICOLON' (noprec):   reduce patt_record_item --> id
    action 'SEMICOLON2' (noprec):   reduce patt_record_item --> id
    action 'DOT' (noprec):   reduce patt_record_item --> id
    action 'COMMA' (noprec):   reduce patt_record_item --> id
    action 'ASSIGN' (noprec):   reduce patt_record_item --> id
    action 'STRING' (noprec):   reduce patt_record_item --> id
    action 'UID' (noprec):   reduce patt_record_item --> id
    action 'LID' (noprec):   reduce patt_record_item --> id
    action 'INFIX' (noprec):   reduce patt_record_item --> id
    action 'TICK_ID' (noprec):   reduce patt_record_item --> id
    action 'BACKTICK_ID' (noprec):   reduce patt_record_item --> id
    action 'AT_ID' (noprec):   reduce patt_record_item --> id
    action 'CHAR' (noprec):   reduce patt_record_item --> id
    action 'FLOAT' (noprec):   reduce patt_record_item --> id
    action 'INT32' (noprec):   reduce patt_record_item --> id
    action 'AT_INT32' (noprec):   reduce patt_record_item --> id
    action 'error' (noprec):   reduce patt_record_item --> id
    action '#' (noprec):   reduce patt_record_item --> id
    action '$$' (noprec):   reduce patt_record_item --> id
  immediate action: <none>  gotos:state 577:  items:    patt_record_item -> id 'EQ' . patt
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt: 543
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
state 578:  items:    patt_record -> patt_record_item . 
    patt_record -> patt_record_item . 'SEMICOLON' patt_record
  actions:    action 'EOF' (noprec):   reduce patt_record --> patt_record_item
    action 'TYPE' (noprec):   reduce patt_record --> patt_record_item
    action 'EQ' (noprec):   reduce patt_record --> patt_record_item
    action 'STAR' (noprec):   reduce patt_record --> patt_record_item
    action 'ARROW' (noprec):   reduce patt_record --> patt_record_item
    action 'VAL' (noprec):   reduce patt_record --> patt_record_item
    action 'OVER' (noprec):   reduce patt_record --> patt_record_item
    action 'BRAGT' (noprec):   reduce patt_record --> patt_record_item
    action 'LTKET' (noprec):   reduce patt_record --> patt_record_item
    action 'BRALT' (noprec):   reduce patt_record --> patt_record_item
    action 'GTKET' (noprec):   reduce patt_record --> patt_record_item
    action 'HASH' (noprec):   reduce patt_record --> patt_record_item
    action 'DO' (noprec):   reduce patt_record --> patt_record_item
    action 'INJECT' (noprec):   reduce patt_record --> patt_record_item
    action 'EJECT' (noprec):   reduce patt_record --> patt_record_item
    action 'IMPLIES' (noprec):   reduce patt_record --> patt_record_item
    action 'DATATYPE' (noprec):   reduce patt_record --> patt_record_item
    action 'DATA' (noprec):   reduce patt_record --> patt_record_item
    action 'FORALL' (noprec):   reduce patt_record --> patt_record_item
    action 'BOTTOM' (noprec):   reduce patt_record --> patt_record_item
    action 'LET' (noprec):   reduce patt_record --> patt_record_item
    action 'REC' (noprec):   reduce patt_record --> patt_record_item
    action 'IN' (noprec):   reduce patt_record --> patt_record_item
    action 'IF' (noprec):   reduce patt_record --> patt_record_item
    action 'THEN' (noprec):   reduce patt_record --> patt_record_item
    action 'ELSE' (noprec):   reduce patt_record --> patt_record_item
    action 'FUN' (noprec):   reduce patt_record --> patt_record_item
    action 'MATCH' (noprec):   reduce patt_record --> patt_record_item
    action 'WHEN' (noprec):   reduce patt_record --> patt_record_item
    action 'WITH' (noprec):   reduce patt_record --> patt_record_item
    action 'FUNCTION' (noprec):   reduce patt_record --> patt_record_item
    action 'TRUE' (noprec):   reduce patt_record --> patt_record_item
    action 'FALSE' (noprec):   reduce patt_record --> patt_record_item
    action 'AS' (noprec):   reduce patt_record --> patt_record_item
    action 'OF' (noprec):   reduce patt_record --> patt_record_item
    action 'NAMESPACE' (noprec):   reduce patt_record --> patt_record_item
    action 'OPEN' (noprec):   reduce patt_record --> patt_record_item
    action 'WHERE' (noprec):   reduce patt_record --> patt_record_item
    action 'OVERLOAD' (noprec):   reduce patt_record --> patt_record_item
    action 'DOUBLEAMP' (noprec):   reduce patt_record --> patt_record_item
    action 'DOUBLEPIPE' (noprec):   reduce patt_record --> patt_record_item
    action 'UNDERSCORE' (noprec):   reduce patt_record --> patt_record_item
    action 'BACKSLASH' (noprec):   reduce patt_record --> patt_record_item
    action 'KIND' (noprec):   reduce patt_record --> patt_record_item
    action 'QUESTION' (noprec):   reduce patt_record --> patt_record_item
    action 'BRA' (noprec):   reduce patt_record --> patt_record_item
    action 'KET' (noprec):   reduce patt_record --> patt_record_item
    action 'CURBRA' (noprec):   reduce patt_record --> patt_record_item
    action 'CURKET' (noprec):   reduce patt_record --> patt_record_item
    action 'SQBRA' (noprec):   reduce patt_record --> patt_record_item
    action 'SQKET' (noprec):   reduce patt_record --> patt_record_item
    action 'PLUS' (noprec):   reduce patt_record --> patt_record_item
    action 'MINUS' (noprec):   reduce patt_record --> patt_record_item
    action 'SLASH' (noprec):   reduce patt_record --> patt_record_item
    action 'PLUSDOT' (noprec):   reduce patt_record --> patt_record_item
    action 'MINUSDOT' (noprec):   reduce patt_record --> patt_record_item
    action 'MOD' (noprec):   reduce patt_record --> patt_record_item
    action 'NEQ' (noprec):   reduce patt_record --> patt_record_item
    action 'LT' (noprec):   reduce patt_record --> patt_record_item
    action 'GT' (noprec):   reduce patt_record --> patt_record_item
    action 'LEQ' (noprec):   reduce patt_record --> patt_record_item
    action 'GEQ' (noprec):   reduce patt_record --> patt_record_item
    action 'AND' (noprec):   reduce patt_record --> patt_record_item
    action 'NOT' (noprec):   reduce patt_record --> patt_record_item
    action 'PIPE' (noprec):   reduce patt_record --> patt_record_item
    action 'AMP' (noprec):   reduce patt_record --> patt_record_item
    action 'BANG' (noprec):   reduce patt_record --> patt_record_item
    action 'COLONGT' (noprec):   reduce patt_record --> patt_record_item
    action 'COLON' (noprec):   reduce patt_record --> patt_record_item
    action 'COLON2' (noprec):   reduce patt_record --> patt_record_item
    action 'SEMICOLON' (explicit right 9980):   shift 579
    action 'SEMICOLON2' (noprec):   reduce patt_record --> patt_record_item
    action 'DOT' (noprec):   reduce patt_record --> patt_record_item
    action 'COMMA' (noprec):   reduce patt_record --> patt_record_item
    action 'ASSIGN' (noprec):   reduce patt_record --> patt_record_item
    action 'STRING' (noprec):   reduce patt_record --> patt_record_item
    action 'UID' (noprec):   reduce patt_record --> patt_record_item
    action 'LID' (noprec):   reduce patt_record --> patt_record_item
    action 'INFIX' (noprec):   reduce patt_record --> patt_record_item
    action 'TICK_ID' (noprec):   reduce patt_record --> patt_record_item
    action 'BACKTICK_ID' (noprec):   reduce patt_record --> patt_record_item
    action 'AT_ID' (noprec):   reduce patt_record --> patt_record_item
    action 'CHAR' (noprec):   reduce patt_record --> patt_record_item
    action 'FLOAT' (noprec):   reduce patt_record --> patt_record_item
    action 'INT32' (noprec):   reduce patt_record --> patt_record_item
    action 'AT_INT32' (noprec):   reduce patt_record --> patt_record_item
    action 'error' (noprec):   reduce patt_record --> patt_record_item
    action '#' (noprec):   reduce patt_record --> patt_record_item
    action '$$' (noprec):   reduce patt_record --> patt_record_item
  immediate action: <none>  gotos:state 579:  items:    patt_record -> patt_record_item 'SEMICOLON' . patt_record
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   error
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   error
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   error
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   error
    action 'UID' (noprec):   shift 150
    action 'LID' (noprec):   shift 152
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   error
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT32' (noprec):   error
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto id: 576
    goto patt_record_item: 578
    goto patt_record: 580
state 580:  items:    patt_record -> patt_record_item 'SEMICOLON' patt_record . 
  actions:    action 'EOF' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'TYPE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'EQ' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'STAR' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'ARROW' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'VAL' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'OVER' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BRAGT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'LTKET' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BRALT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'GTKET' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'HASH' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'DO' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'INJECT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'EJECT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'IMPLIES' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'DATATYPE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'DATA' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'FORALL' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BOTTOM' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'LET' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'REC' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'IN' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'IF' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'THEN' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'ELSE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'FUN' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'MATCH' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'WHEN' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'WITH' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'FUNCTION' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'TRUE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'FALSE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'AS' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'OF' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'NAMESPACE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'OPEN' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'WHERE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'OVERLOAD' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'DOUBLEAMP' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'DOUBLEPIPE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'UNDERSCORE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BACKSLASH' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'KIND' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'QUESTION' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BRA' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'KET' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'CURBRA' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'CURKET' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'SQBRA' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'SQKET' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'PLUS' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'MINUS' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'SLASH' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'PLUSDOT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'MINUSDOT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'MOD' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'NEQ' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'LT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'GT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'LEQ' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'GEQ' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'AND' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'NOT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'PIPE' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'AMP' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BANG' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'COLONGT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'COLON' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'COLON2' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'SEMICOLON' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'SEMICOLON2' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'DOT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'COMMA' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'ASSIGN' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'STRING' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'UID' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'LID' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'INFIX' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'TICK_ID' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'BACKTICK_ID' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'AT_ID' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'CHAR' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'FLOAT' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'INT32' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'AT_INT32' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action 'error' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action '#' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
    action '$$' (explicit right 9980):   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record
  immediate action:   reduce patt_record --> patt_record_item 'SEMICOLON' patt_record  gotos:state 581:  items:    patt_list -> patt 'SEMICOLON' . patt_list
  actions:    action 'EOF' (noprec):   error
    action 'TYPE' (noprec):   error
    action 'EQ' (noprec):   error
    action 'STAR' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'VAL' (noprec):   error
    action 'OVER' (noprec):   error
    action 'BRAGT' (noprec):   error
    action 'LTKET' (noprec):   error
    action 'BRALT' (noprec):   error
    action 'GTKET' (noprec):   error
    action 'HASH' (noprec):   error
    action 'DO' (noprec):   error
    action 'INJECT' (noprec):   error
    action 'EJECT' (noprec):   error
    action 'IMPLIES' (noprec):   error
    action 'DATATYPE' (noprec):   error
    action 'DATA' (noprec):   error
    action 'FORALL' (noprec):   error
    action 'BOTTOM' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'MATCH' (noprec):   error
    action 'WHEN' (noprec):   error
    action 'WITH' (noprec):   error
    action 'FUNCTION' (noprec):   error
    action 'TRUE' (noprec):   shift 520
    action 'FALSE' (noprec):   shift 521
    action 'AS' (noprec):   error
    action 'OF' (noprec):   error
    action 'NAMESPACE' (noprec):   error
    action 'OPEN' (noprec):   error
    action 'WHERE' (noprec):   error
    action 'OVERLOAD' (noprec):   error
    action 'DOUBLEAMP' (noprec):   error
    action 'DOUBLEPIPE' (noprec):   error
    action 'UNDERSCORE' (noprec):   shift 566
    action 'BACKSLASH' (noprec):   error
    action 'KIND' (noprec):   error
    action 'QUESTION' (noprec):   error
    action 'BRA' (noprec):   shift 524
    action 'KET' (noprec):   error
    action 'CURBRA' (noprec):   shift 569
    action 'CURKET' (noprec):   error
    action 'SQBRA' (noprec):   shift 572
    action 'SQKET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PLUSDOT' (noprec):   error
    action 'MINUSDOT' (noprec):   error
    action 'MOD' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'AND' (noprec):   error
    action 'NOT' (noprec):   error
    action 'PIPE' (noprec):   error
    action 'AMP' (noprec):   error
    action 'BANG' (noprec):   error
    action 'COLONGT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'COLON2' (noprec):   error
    action 'SEMICOLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'DOT' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'ASSIGN' (noprec):   error
    action 'STRING' (noprec):   shift 522
    action 'UID' (noprec):   shift 562
    action 'LID' (noprec):   shift 561
    action 'INFIX' (noprec):   error
    action 'TICK_ID' (noprec):   error
    action 'BACKTICK_ID' (noprec):   shift 565
    action 'AT_ID' (noprec):   error
    action 'CHAR' (noprec):   shift 523
    action 'FLOAT' (noprec):   shift 519
    action 'INT32' (noprec):   shift 518
    action 'AT_INT32' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto lit: 568
    goto patt: 544
    goto patt_arrow_atom: 539
    goto patt_tuple_atom: 547
    goto patt_app_atom: 552
    goto patt_: 535
    goto patt_arrow_atom_: 536
    goto patt_tuple_atom_: 537
    goto patt_app_atom_: 538
    goto patt_list: 582
state 582:  items:    patt_list -> patt 'SEMICOLON' patt_list . 
  actions:    action 'EOF' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'TYPE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'EQ' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'STAR' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'ARROW' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'VAL' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'OVER' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BRAGT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'LTKET' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BRALT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'GTKET' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'HASH' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'DO' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'INJECT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'EJECT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'IMPLIES' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'DATATYPE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'DATA' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'FORALL' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BOTTOM' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'LET' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'REC' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'IN' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'IF' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'THEN' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'ELSE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'FUN' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'MATCH' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'WHEN' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'WITH' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'FUNCTION' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'TRUE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'FALSE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'AS' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'OF' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'NAMESPACE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'OPEN' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'WHERE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'OVERLOAD' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'DOUBLEAMP' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'DOUBLEPIPE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'UNDERSCORE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BACKSLASH' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'KIND' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'QUESTION' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BRA' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'KET' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'CURBRA' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'CURKET' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'SQBRA' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'SQKET' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'PLUS' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'MINUS' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'SLASH' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'PLUSDOT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'MINUSDOT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'MOD' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'NEQ' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'LT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'GT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'LEQ' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'GEQ' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'AND' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'NOT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'PIPE' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'AMP' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BANG' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'COLONGT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'COLON' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'COLON2' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'SEMICOLON' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'SEMICOLON2' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'DOT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'COMMA' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'ASSIGN' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'STRING' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'UID' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'LID' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'INFIX' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'TICK_ID' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'BACKTICK_ID' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'AT_ID' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'CHAR' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'FLOAT' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'INT32' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'AT_INT32' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action 'error' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action '#' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
    action '$$' (explicit right 9980):   reduce patt_list --> patt 'SEMICOLON' patt_list
  immediate action:   reduce patt_list --> patt 'SEMICOLON' patt_list  gotos:
startStates = 0;2;4;6;8;10
------------------------
