        Output file describing compiled parser placed in Parser.fs and Parser.fsi
------------------------
states = 
state 0:  items:    _startinteractive ->  . interactive
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto interactive: 1
    goto expr: 6
    goto binding: 8
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 1:  items:    _startinteractive -> interactive . 
  actions:    action 'EOF' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PERCENT' (noprec):   accept
    action 'PLUS_DOT' (noprec):   accept
    action 'MINUS_DOT' (noprec):   accept
    action 'STAR_DOT' (noprec):   accept
    action 'SLASH_DOT' (noprec):   accept
    action 'PERCENT_DOT' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT_DOT' (noprec):   accept
    action 'GT_DOT' (noprec):   accept
    action 'LEQ_DOT' (noprec):   accept
    action 'GEQ_DOT' (noprec):   accept
    action 'EQ_DOT' (noprec):   accept
    action 'NEQ_DOT' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'OR' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 2:  items:    _startprogram ->  . program
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto program: 3
    goto expr: 4
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 3:  items:    _startprogram -> program . 
  actions:    action 'EOF' (noprec):   accept
    action 'IF' (noprec):   accept
    action 'THEN' (noprec):   accept
    action 'ELSE' (noprec):   accept
    action 'FUN' (noprec):   accept
    action 'ARROW' (noprec):   accept
    action 'LET' (noprec):   accept
    action 'REC' (noprec):   accept
    action 'IN' (noprec):   accept
    action 'TRUE' (noprec):   accept
    action 'FALSE' (noprec):   accept
    action 'BRA' (noprec):   accept
    action 'KET' (noprec):   accept
    action 'PLUS' (noprec):   accept
    action 'MINUS' (noprec):   accept
    action 'STAR' (noprec):   accept
    action 'SLASH' (noprec):   accept
    action 'PERCENT' (noprec):   accept
    action 'PLUS_DOT' (noprec):   accept
    action 'MINUS_DOT' (noprec):   accept
    action 'STAR_DOT' (noprec):   accept
    action 'SLASH_DOT' (noprec):   accept
    action 'PERCENT_DOT' (noprec):   accept
    action 'LT' (noprec):   accept
    action 'GT' (noprec):   accept
    action 'LEQ' (noprec):   accept
    action 'GEQ' (noprec):   accept
    action 'EQ' (noprec):   accept
    action 'NEQ' (noprec):   accept
    action 'LT_DOT' (noprec):   accept
    action 'GT_DOT' (noprec):   accept
    action 'LEQ_DOT' (noprec):   accept
    action 'GEQ_DOT' (noprec):   accept
    action 'EQ_DOT' (noprec):   accept
    action 'NEQ_DOT' (noprec):   accept
    action 'AND' (noprec):   accept
    action 'OR' (noprec):   accept
    action 'NOT' (noprec):   accept
    action 'COLON' (noprec):   accept
    action 'SEMICOLON2' (noprec):   accept
    action 'COMMA' (noprec):   accept
    action 'STRING' (noprec):   accept
    action 'ID' (noprec):   accept
    action 'CHAR' (noprec):   accept
    action 'FLOAT' (noprec):   accept
    action 'INT' (noprec):   accept
    action 'error' (noprec):   accept
    action '#' (noprec):   accept
    action '$$' (noprec):   accept
  immediate action:   accept  gotos:state 4:  items:    program -> expr . 'EOF'
  actions:    action 'EOF' (noprec):   shift 5
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 5:  items:    program -> expr 'EOF' . 
  actions:    action 'EOF' (noprec):   reduce program --> expr 'EOF'
    action 'IF' (noprec):   reduce program --> expr 'EOF'
    action 'THEN' (noprec):   reduce program --> expr 'EOF'
    action 'ELSE' (noprec):   reduce program --> expr 'EOF'
    action 'FUN' (noprec):   reduce program --> expr 'EOF'
    action 'ARROW' (noprec):   reduce program --> expr 'EOF'
    action 'LET' (noprec):   reduce program --> expr 'EOF'
    action 'REC' (noprec):   reduce program --> expr 'EOF'
    action 'IN' (noprec):   reduce program --> expr 'EOF'
    action 'TRUE' (noprec):   reduce program --> expr 'EOF'
    action 'FALSE' (noprec):   reduce program --> expr 'EOF'
    action 'BRA' (noprec):   reduce program --> expr 'EOF'
    action 'KET' (noprec):   reduce program --> expr 'EOF'
    action 'PLUS' (noprec):   reduce program --> expr 'EOF'
    action 'MINUS' (noprec):   reduce program --> expr 'EOF'
    action 'STAR' (noprec):   reduce program --> expr 'EOF'
    action 'SLASH' (noprec):   reduce program --> expr 'EOF'
    action 'PERCENT' (noprec):   reduce program --> expr 'EOF'
    action 'PLUS_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'MINUS_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'STAR_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'SLASH_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'PERCENT_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'LT' (noprec):   reduce program --> expr 'EOF'
    action 'GT' (noprec):   reduce program --> expr 'EOF'
    action 'LEQ' (noprec):   reduce program --> expr 'EOF'
    action 'GEQ' (noprec):   reduce program --> expr 'EOF'
    action 'EQ' (noprec):   reduce program --> expr 'EOF'
    action 'NEQ' (noprec):   reduce program --> expr 'EOF'
    action 'LT_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'GT_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'LEQ_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'GEQ_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'EQ_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'NEQ_DOT' (noprec):   reduce program --> expr 'EOF'
    action 'AND' (noprec):   reduce program --> expr 'EOF'
    action 'OR' (noprec):   reduce program --> expr 'EOF'
    action 'NOT' (noprec):   reduce program --> expr 'EOF'
    action 'COLON' (noprec):   reduce program --> expr 'EOF'
    action 'SEMICOLON2' (noprec):   reduce program --> expr 'EOF'
    action 'COMMA' (noprec):   reduce program --> expr 'EOF'
    action 'STRING' (noprec):   reduce program --> expr 'EOF'
    action 'ID' (noprec):   reduce program --> expr 'EOF'
    action 'CHAR' (noprec):   reduce program --> expr 'EOF'
    action 'FLOAT' (noprec):   reduce program --> expr 'EOF'
    action 'INT' (noprec):   reduce program --> expr 'EOF'
    action 'error' (noprec):   reduce program --> expr 'EOF'
    action '#' (noprec):   reduce program --> expr 'EOF'
    action '$$' (noprec):   reduce program --> expr 'EOF'
  immediate action:   reduce program --> expr 'EOF'  gotos:state 6:  items:    interactive -> expr . 'SEMICOLON2'
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   shift 7
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 7:  items:    interactive -> expr 'SEMICOLON2' . 
  actions:    action 'EOF' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'IF' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'THEN' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'ELSE' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'FUN' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'ARROW' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'LET' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'REC' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'IN' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'TRUE' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'FALSE' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'BRA' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'KET' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'PLUS' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'MINUS' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'STAR' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'SLASH' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'PERCENT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'PLUS_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'MINUS_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'STAR_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'SLASH_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'PERCENT_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'LT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'GT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'LEQ' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'GEQ' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'EQ' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'NEQ' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'LT_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'GT_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'LEQ_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'GEQ_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'EQ_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'NEQ_DOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'AND' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'OR' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'NOT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'COLON' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'SEMICOLON2' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'COMMA' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'STRING' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'ID' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'CHAR' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'FLOAT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'INT' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action 'error' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action '#' (noprec):   reduce interactive --> expr 'SEMICOLON2'
    action '$$' (noprec):   reduce interactive --> expr 'SEMICOLON2'
  immediate action:   reduce interactive --> expr 'SEMICOLON2'  gotos:state 8:  items:    interactive -> binding . 'SEMICOLON2'
    expr_tuple_atom -> binding . 'IN' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   shift 106
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   shift 9
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 9:  items:    interactive -> binding 'SEMICOLON2' . 
  actions:    action 'EOF' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'IF' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'THEN' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'ELSE' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'FUN' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'ARROW' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'LET' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'REC' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'IN' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'TRUE' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'FALSE' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'BRA' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'KET' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'PLUS' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'MINUS' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'STAR' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'SLASH' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'PERCENT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'PLUS_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'MINUS_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'STAR_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'SLASH_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'PERCENT_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'LT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'GT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'LEQ' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'GEQ' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'EQ' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'NEQ' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'LT_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'GT_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'LEQ_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'GEQ_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'EQ_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'NEQ_DOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'AND' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'OR' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'NOT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'COLON' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'SEMICOLON2' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'COMMA' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'STRING' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'ID' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'CHAR' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'FLOAT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'INT' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action 'error' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action '#' (noprec):   reduce interactive --> binding 'SEMICOLON2'
    action '$$' (noprec):   reduce interactive --> binding 'SEMICOLON2'
  immediate action:   reduce interactive --> binding 'SEMICOLON2'  gotos:state 10:  items:    expr -> expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr --> expr_tuple_atom
    action 'IF' (noprec):   reduce expr --> expr_tuple_atom
    action 'THEN' (noprec):   reduce expr --> expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr --> expr_tuple_atom
    action 'FUN' (noprec):   reduce expr --> expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr --> expr_tuple_atom
    action 'LET' (noprec):   reduce expr --> expr_tuple_atom
    action 'REC' (noprec):   reduce expr --> expr_tuple_atom
    action 'IN' (noprec):   reduce expr --> expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr --> expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr --> expr_tuple_atom
    action 'COLON' (noprec):   reduce expr --> expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr --> expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr --> expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr --> expr_tuple_atom
    action '#' (noprec):   reduce expr --> expr_tuple_atom
    action '$$' (noprec):   reduce expr --> expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 11:  items:    expr -> expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
    expr_tuple_atoms -> expr_tuple_atom . 
    expr_tuple_atoms -> expr_tuple_atom . 'COMMA' expr_tuple_atoms
  actions:    action 'EOF' (noprec):   reduce expr --> expr_tuple_atom
    action 'IF' (noprec):   reduce expr --> expr_tuple_atom
    action 'THEN' (noprec):   reduce expr --> expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr --> expr_tuple_atom
    action 'FUN' (noprec):   reduce expr --> expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr --> expr_tuple_atom
    action 'LET' (noprec):   reduce expr --> expr_tuple_atom
    action 'REC' (noprec):   reduce expr --> expr_tuple_atom
    action 'IN' (noprec):   reduce expr --> expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr --> expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr --> expr_tuple_atom
    action 'COLON' (noprec):   reduce expr --> expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr --> expr_tuple_atom
    action 'COMMA' (explicit left 9991):   shift 141
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr --> expr_tuple_atom
    action '#' (noprec):   reduce expr --> expr_tuple_atom
    action '$$' (noprec):   reduce expr --> expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 12:  items:    expr -> 'BRA' . expr_tuple_atoms 'KET'
    expr_app_atom -> 'BRA' . 'KET'
    expr_app_atom -> 'BRA' . expr 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   shift 60
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 62
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 11
    goto expr_tuple_atoms: 13
state 13:  items:    expr -> 'BRA' expr_tuple_atoms . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 14
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 14:  items:    expr -> 'BRA' expr_tuple_atoms 'KET' . 
  actions:    action 'EOF' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'IF' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'THEN' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'ELSE' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'FUN' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'ARROW' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'LET' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'REC' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'IN' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'TRUE' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'FALSE' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'BRA' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'KET' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'PLUS' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'MINUS' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'STAR' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'SLASH' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'PERCENT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'PLUS_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'MINUS_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'STAR_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'SLASH_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'PERCENT_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'LT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'GT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'LEQ' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'GEQ' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'EQ' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'NEQ' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'LT_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'GT_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'LEQ_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'GEQ_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'EQ_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'NEQ_DOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'AND' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'OR' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'NOT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'COLON' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'COMMA' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'STRING' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'ID' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'CHAR' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'FLOAT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'INT' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action 'error' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action '#' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
    action '$$' (noprec):   reduce expr --> 'BRA' expr_tuple_atoms 'KET'
  immediate action:   reduce expr --> 'BRA' expr_tuple_atoms 'KET'  gotos:state 15:  items:    binding -> 'LET' . 'ID' 'EQ' expr
    binding -> 'LET' . 'ID' parms 'EQ' expr
    binding -> 'LET' . 'ID' 'COLON' ty 'EQ' expr
    binding -> 'LET' . 'ID' parms 'COLON' ty 'EQ' expr
    binding -> 'LET' . 'REC' 'ID' 'EQ' expr
    binding -> 'LET' . 'REC' 'ID' parms 'EQ' expr
    binding -> 'LET' . 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    binding -> 'LET' . 'REC' 'ID' 'COLON' ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   shift 30
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 16
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 16:  items:    binding -> 'LET' 'ID' . 'EQ' expr
    binding -> 'LET' 'ID' . parms 'EQ' expr
    binding -> 'LET' 'ID' . 'COLON' ty 'EQ' expr
    binding -> 'LET' 'ID' . parms 'COLON' ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 46
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (explicit left 9995):   shift 17
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   shift 22
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 45
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto parms: 19
state 17:  items:    binding -> 'LET' 'ID' 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 18
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 18:  items:    binding -> 'LET' 'ID' 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'ID' 'EQ' expr  gotos:state 19:  items:    binding -> 'LET' 'ID' parms . 'EQ' expr
    binding -> 'LET' 'ID' parms . 'COLON' ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (explicit left 9995):   shift 20
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   shift 26
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 20:  items:    binding -> 'LET' 'ID' parms 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 21
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 21:  items:    binding -> 'LET' 'ID' parms 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'ID' parms 'EQ' expr  gotos:state 22:  items:    binding -> 'LET' 'ID' 'COLON' . ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 23
    goto ty_tuple: 148
state 23:  items:    binding -> 'LET' 'ID' 'COLON' ty . 'EQ' expr
    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   reduce ty_tuple --> ty
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (explicit left 9995):   shift 24
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 24:  items:    binding -> 'LET' 'ID' 'COLON' ty 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 25
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 25:  items:    binding -> 'LET' 'ID' 'COLON' ty 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'ID' 'COLON' ty 'EQ' expr  gotos:state 26:  items:    binding -> 'LET' 'ID' parms 'COLON' . ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 27
    goto ty_tuple: 148
state 27:  items:    binding -> 'LET' 'ID' parms 'COLON' ty . 'EQ' expr
    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   reduce ty_tuple --> ty
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (explicit left 9995):   shift 28
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 28:  items:    binding -> 'LET' 'ID' parms 'COLON' ty 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 29
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 29:  items:    binding -> 'LET' 'ID' parms 'COLON' ty 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'ID' parms 'COLON' ty 'EQ' expr  gotos:state 30:  items:    binding -> 'LET' 'REC' . 'ID' 'EQ' expr
    binding -> 'LET' 'REC' . 'ID' parms 'EQ' expr
    binding -> 'LET' 'REC' . 'ID' parms 'COLON' ty 'EQ' expr
    binding -> 'LET' 'REC' . 'ID' 'COLON' ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 31
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 31:  items:    binding -> 'LET' 'REC' 'ID' . 'EQ' expr
    binding -> 'LET' 'REC' 'ID' . parms 'EQ' expr
    binding -> 'LET' 'REC' 'ID' . parms 'COLON' ty 'EQ' expr
    binding -> 'LET' 'REC' 'ID' . 'COLON' ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 46
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (explicit left 9995):   shift 32
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   shift 41
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 45
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto parms: 34
state 32:  items:    binding -> 'LET' 'REC' 'ID' 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 33
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 33:  items:    binding -> 'LET' 'REC' 'ID' 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'REC' 'ID' 'EQ' expr  gotos:state 34:  items:    binding -> 'LET' 'REC' 'ID' parms . 'EQ' expr
    binding -> 'LET' 'REC' 'ID' parms . 'COLON' ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (explicit left 9995):   shift 35
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   shift 37
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 35:  items:    binding -> 'LET' 'REC' 'ID' parms 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 36
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 36:  items:    binding -> 'LET' 'REC' 'ID' parms 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'REC' 'ID' parms 'EQ' expr  gotos:state 37:  items:    binding -> 'LET' 'REC' 'ID' parms 'COLON' . ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 38
    goto ty_tuple: 148
state 38:  items:    binding -> 'LET' 'REC' 'ID' parms 'COLON' ty . 'EQ' expr
    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   reduce ty_tuple --> ty
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (explicit left 9995):   shift 39
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 39:  items:    binding -> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 40
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 40:  items:    binding -> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'REC' 'ID' parms 'COLON' ty 'EQ' expr  gotos:state 41:  items:    binding -> 'LET' 'REC' 'ID' 'COLON' . ty 'EQ' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 42
    goto ty_tuple: 148
state 42:  items:    binding -> 'LET' 'REC' 'ID' 'COLON' ty . 'EQ' expr
    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   reduce ty_tuple --> ty
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (explicit left 9995):   shift 43
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 43:  items:    binding -> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 44
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 44:  items:    binding -> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr . 
  actions:    action 'EOF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'IF' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'THEN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'ELSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'FUN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'ARROW' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'LET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'REC' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'IN' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'TRUE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'FALSE' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'BRA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'KET' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'PLUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'MINUS' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'STAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'SLASH' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'PERCENT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'PLUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'MINUS_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'STAR_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'SLASH_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'PERCENT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'LT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'GT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'LEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'GEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'EQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'NEQ' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'LT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'GT_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'LEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'GEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'EQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'NEQ_DOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'AND' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'OR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'NOT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'COLON' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'SEMICOLON2' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'COMMA' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'STRING' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'ID' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'CHAR' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'FLOAT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'INT' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action 'error' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action '#' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
    action '$$' (explicit left 9995):   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr
  immediate action:   reduce binding --> 'LET' 'REC' 'ID' 'COLON' ty 'EQ' expr  gotos:state 45:  items:    parms -> 'ID' . 
    parms -> 'ID' . parms
  actions:    action 'EOF' (noprec):   reduce parms --> 'ID'
    action 'IF' (noprec):   reduce parms --> 'ID'
    action 'THEN' (noprec):   reduce parms --> 'ID'
    action 'ELSE' (noprec):   reduce parms --> 'ID'
    action 'FUN' (noprec):   reduce parms --> 'ID'
    action 'ARROW' (noprec):   reduce parms --> 'ID'
    action 'LET' (noprec):   reduce parms --> 'ID'
    action 'REC' (noprec):   reduce parms --> 'ID'
    action 'IN' (noprec):   reduce parms --> 'ID'
    action 'TRUE' (noprec):   reduce parms --> 'ID'
    action 'FALSE' (noprec):   reduce parms --> 'ID'
    action 'BRA' (noprec):   shift 46
    action 'KET' (noprec):   reduce parms --> 'ID'
    action 'PLUS' (noprec):   reduce parms --> 'ID'
    action 'MINUS' (noprec):   reduce parms --> 'ID'
    action 'STAR' (noprec):   reduce parms --> 'ID'
    action 'SLASH' (noprec):   reduce parms --> 'ID'
    action 'PERCENT' (noprec):   reduce parms --> 'ID'
    action 'PLUS_DOT' (noprec):   reduce parms --> 'ID'
    action 'MINUS_DOT' (noprec):   reduce parms --> 'ID'
    action 'STAR_DOT' (noprec):   reduce parms --> 'ID'
    action 'SLASH_DOT' (noprec):   reduce parms --> 'ID'
    action 'PERCENT_DOT' (noprec):   reduce parms --> 'ID'
    action 'LT' (noprec):   reduce parms --> 'ID'
    action 'GT' (noprec):   reduce parms --> 'ID'
    action 'LEQ' (noprec):   reduce parms --> 'ID'
    action 'GEQ' (noprec):   reduce parms --> 'ID'
    action 'EQ' (noprec):   reduce parms --> 'ID'
    action 'NEQ' (noprec):   reduce parms --> 'ID'
    action 'LT_DOT' (noprec):   reduce parms --> 'ID'
    action 'GT_DOT' (noprec):   reduce parms --> 'ID'
    action 'LEQ_DOT' (noprec):   reduce parms --> 'ID'
    action 'GEQ_DOT' (noprec):   reduce parms --> 'ID'
    action 'EQ_DOT' (noprec):   reduce parms --> 'ID'
    action 'NEQ_DOT' (noprec):   reduce parms --> 'ID'
    action 'AND' (noprec):   reduce parms --> 'ID'
    action 'OR' (noprec):   reduce parms --> 'ID'
    action 'NOT' (noprec):   reduce parms --> 'ID'
    action 'COLON' (noprec):   reduce parms --> 'ID'
    action 'SEMICOLON2' (noprec):   reduce parms --> 'ID'
    action 'COMMA' (noprec):   reduce parms --> 'ID'
    action 'STRING' (noprec):   reduce parms --> 'ID'
    action 'ID' (noprec):   shift 45
    action 'CHAR' (noprec):   reduce parms --> 'ID'
    action 'FLOAT' (noprec):   reduce parms --> 'ID'
    action 'INT' (noprec):   reduce parms --> 'ID'
    action 'error' (noprec):   reduce parms --> 'ID'
    action '#' (noprec):   reduce parms --> 'ID'
    action '$$' (noprec):   reduce parms --> 'ID'
  immediate action: <none>  gotos:    goto parms: 51
state 46:  items:    parms -> 'BRA' . 'ID' 'COLON' ty 'KET'
    parms -> 'BRA' . 'ID' 'COLON' ty 'KET' parms
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 47
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 47:  items:    parms -> 'BRA' 'ID' . 'COLON' ty 'KET'
    parms -> 'BRA' 'ID' . 'COLON' ty 'KET' parms
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   shift 48
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 48:  items:    parms -> 'BRA' 'ID' 'COLON' . ty 'KET'
    parms -> 'BRA' 'ID' 'COLON' . ty 'KET' parms
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 49
    goto ty_tuple: 148
state 49:  items:    parms -> 'BRA' 'ID' 'COLON' ty . 'KET'
    parms -> 'BRA' 'ID' 'COLON' ty . 'KET' parms
    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   shift 50
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (noprec):   reduce ty_tuple --> ty
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 50:  items:    parms -> 'BRA' 'ID' 'COLON' ty 'KET' . 
    parms -> 'BRA' 'ID' 'COLON' ty 'KET' . parms
  actions:    action 'EOF' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'IF' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'THEN' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'ELSE' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'FUN' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'ARROW' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'LET' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'REC' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'IN' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'TRUE' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'FALSE' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'BRA' (noprec):   shift 46
    action 'KET' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'PLUS' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'MINUS' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'STAR' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'SLASH' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'PERCENT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'PLUS_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'MINUS_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'STAR_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'SLASH_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'PERCENT_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'LT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'GT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'LEQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'GEQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'EQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'NEQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'LT_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'GT_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'LEQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'GEQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'EQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'NEQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'AND' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'OR' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'NOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'COLON' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'SEMICOLON2' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'COMMA' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'STRING' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'ID' (noprec):   shift 45
    action 'CHAR' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'FLOAT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'INT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action 'error' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action '#' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
    action '$$' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET'
  immediate action: <none>  gotos:    goto parms: 52
state 51:  items:    parms -> 'ID' parms . 
  actions:    action 'EOF' (noprec):   reduce parms --> 'ID' parms
    action 'IF' (noprec):   reduce parms --> 'ID' parms
    action 'THEN' (noprec):   reduce parms --> 'ID' parms
    action 'ELSE' (noprec):   reduce parms --> 'ID' parms
    action 'FUN' (noprec):   reduce parms --> 'ID' parms
    action 'ARROW' (noprec):   reduce parms --> 'ID' parms
    action 'LET' (noprec):   reduce parms --> 'ID' parms
    action 'REC' (noprec):   reduce parms --> 'ID' parms
    action 'IN' (noprec):   reduce parms --> 'ID' parms
    action 'TRUE' (noprec):   reduce parms --> 'ID' parms
    action 'FALSE' (noprec):   reduce parms --> 'ID' parms
    action 'BRA' (noprec):   reduce parms --> 'ID' parms
    action 'KET' (noprec):   reduce parms --> 'ID' parms
    action 'PLUS' (noprec):   reduce parms --> 'ID' parms
    action 'MINUS' (noprec):   reduce parms --> 'ID' parms
    action 'STAR' (noprec):   reduce parms --> 'ID' parms
    action 'SLASH' (noprec):   reduce parms --> 'ID' parms
    action 'PERCENT' (noprec):   reduce parms --> 'ID' parms
    action 'PLUS_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'MINUS_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'STAR_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'SLASH_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'PERCENT_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'LT' (noprec):   reduce parms --> 'ID' parms
    action 'GT' (noprec):   reduce parms --> 'ID' parms
    action 'LEQ' (noprec):   reduce parms --> 'ID' parms
    action 'GEQ' (noprec):   reduce parms --> 'ID' parms
    action 'EQ' (noprec):   reduce parms --> 'ID' parms
    action 'NEQ' (noprec):   reduce parms --> 'ID' parms
    action 'LT_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'GT_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'LEQ_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'GEQ_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'EQ_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'NEQ_DOT' (noprec):   reduce parms --> 'ID' parms
    action 'AND' (noprec):   reduce parms --> 'ID' parms
    action 'OR' (noprec):   reduce parms --> 'ID' parms
    action 'NOT' (noprec):   reduce parms --> 'ID' parms
    action 'COLON' (noprec):   reduce parms --> 'ID' parms
    action 'SEMICOLON2' (noprec):   reduce parms --> 'ID' parms
    action 'COMMA' (noprec):   reduce parms --> 'ID' parms
    action 'STRING' (noprec):   reduce parms --> 'ID' parms
    action 'ID' (noprec):   reduce parms --> 'ID' parms
    action 'CHAR' (noprec):   reduce parms --> 'ID' parms
    action 'FLOAT' (noprec):   reduce parms --> 'ID' parms
    action 'INT' (noprec):   reduce parms --> 'ID' parms
    action 'error' (noprec):   reduce parms --> 'ID' parms
    action '#' (noprec):   reduce parms --> 'ID' parms
    action '$$' (noprec):   reduce parms --> 'ID' parms
  immediate action:   reduce parms --> 'ID' parms  gotos:state 52:  items:    parms -> 'BRA' 'ID' 'COLON' ty 'KET' parms . 
  actions:    action 'EOF' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'IF' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'THEN' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'ELSE' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'FUN' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'ARROW' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'LET' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'REC' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'IN' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'TRUE' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'FALSE' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'BRA' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'KET' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'PLUS' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'MINUS' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'STAR' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'SLASH' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'PERCENT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'PLUS_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'MINUS_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'STAR_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'SLASH_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'PERCENT_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'LT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'GT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'LEQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'GEQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'EQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'NEQ' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'LT_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'GT_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'LEQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'GEQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'EQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'NEQ_DOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'AND' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'OR' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'NOT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'COLON' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'SEMICOLON2' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'COMMA' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'STRING' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'ID' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'CHAR' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'FLOAT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'INT' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action 'error' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action '#' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
    action '$$' (noprec):   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms
  immediate action:   reduce parms --> 'BRA' 'ID' 'COLON' ty 'KET' parms  gotos:state 53:  items:    expr_app_atom -> 'INT' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'INT'
    action 'IF' (noprec):   reduce expr_app_atom --> 'INT'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'INT'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'INT'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'INT'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'INT'
    action 'LET' (noprec):   reduce expr_app_atom --> 'INT'
    action 'REC' (noprec):   reduce expr_app_atom --> 'INT'
    action 'IN' (noprec):   reduce expr_app_atom --> 'INT'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'INT'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'INT'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'INT'
    action 'KET' (noprec):   reduce expr_app_atom --> 'INT'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'INT'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'INT'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'INT'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'INT'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'LT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'GT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'INT'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'INT'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'INT'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'INT'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'AND' (noprec):   reduce expr_app_atom --> 'INT'
    action 'OR' (noprec):   reduce expr_app_atom --> 'INT'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'INT'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'INT'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'INT'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'INT'
    action 'ID' (noprec):   reduce expr_app_atom --> 'INT'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'INT'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'INT' (noprec):   reduce expr_app_atom --> 'INT'
    action 'error' (noprec):   reduce expr_app_atom --> 'INT'
    action '#' (noprec):   reduce expr_app_atom --> 'INT'
    action '$$' (noprec):   reduce expr_app_atom --> 'INT'
  immediate action:   reduce expr_app_atom --> 'INT'  gotos:state 54:  items:    expr_app_atom -> 'FLOAT' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'IF' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'LET' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'REC' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'IN' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'KET' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'LT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'GT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'AND' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'OR' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'ID' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'INT' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action 'error' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action '#' (noprec):   reduce expr_app_atom --> 'FLOAT'
    action '$$' (noprec):   reduce expr_app_atom --> 'FLOAT'
  immediate action:   reduce expr_app_atom --> 'FLOAT'  gotos:state 55:  items:    expr_app_atom -> 'STRING' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'IF' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'LET' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'REC' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'IN' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'KET' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'LT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'GT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'AND' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'OR' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'ID' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'INT' (noprec):   reduce expr_app_atom --> 'STRING'
    action 'error' (noprec):   reduce expr_app_atom --> 'STRING'
    action '#' (noprec):   reduce expr_app_atom --> 'STRING'
    action '$$' (noprec):   reduce expr_app_atom --> 'STRING'
  immediate action:   reduce expr_app_atom --> 'STRING'  gotos:state 56:  items:    expr_app_atom -> 'CHAR' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'IF' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'LET' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'REC' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'IN' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'KET' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'LT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'GT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'AND' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'OR' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'ID' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'INT' (noprec):   reduce expr_app_atom --> 'CHAR'
    action 'error' (noprec):   reduce expr_app_atom --> 'CHAR'
    action '#' (noprec):   reduce expr_app_atom --> 'CHAR'
    action '$$' (noprec):   reduce expr_app_atom --> 'CHAR'
  immediate action:   reduce expr_app_atom --> 'CHAR'  gotos:state 57:  items:    expr_app_atom -> 'TRUE' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'IF' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'LET' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'REC' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'IN' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'KET' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'LT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'GT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'AND' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'OR' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'ID' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'INT' (noprec):   reduce expr_app_atom --> 'TRUE'
    action 'error' (noprec):   reduce expr_app_atom --> 'TRUE'
    action '#' (noprec):   reduce expr_app_atom --> 'TRUE'
    action '$$' (noprec):   reduce expr_app_atom --> 'TRUE'
  immediate action:   reduce expr_app_atom --> 'TRUE'  gotos:state 58:  items:    expr_app_atom -> 'FALSE' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'IF' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'LET' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'REC' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'IN' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'KET' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'LT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'GT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'AND' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'OR' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'ID' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'INT' (noprec):   reduce expr_app_atom --> 'FALSE'
    action 'error' (noprec):   reduce expr_app_atom --> 'FALSE'
    action '#' (noprec):   reduce expr_app_atom --> 'FALSE'
    action '$$' (noprec):   reduce expr_app_atom --> 'FALSE'
  immediate action:   reduce expr_app_atom --> 'FALSE'  gotos:state 59:  items:    expr_app_atom -> 'BRA' . 'KET'
    expr_app_atom -> 'BRA' . expr 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   shift 60
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 62
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 60:  items:    expr_app_atom -> 'BRA' 'KET' . 
  actions:    action 'EOF' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'IF' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'THEN' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'ELSE' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'FUN' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'ARROW' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'LET' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'REC' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'IN' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'TRUE' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'KET' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'PERCENT_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'LT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'GT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'LEQ' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'GEQ' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'EQ' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'AND' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'OR' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'ID' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'INT' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action 'error' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action '#' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
    action '$$' (noprec):   reduce expr_app_atom --> 'BRA' 'KET'
  immediate action:   reduce expr_app_atom --> 'BRA' 'KET'  gotos:state 61:  items:    expr_app_atom -> 'ID' . 
  actions:    action 'EOF' (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 'ARROW' (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 'TRUE' (noprec):   reduce expr_app_atom --> 'ID'
    action 'FALSE' (noprec):   reduce expr_app_atom --> 'ID'
    action 'BRA' (noprec):   reduce expr_app_atom --> 'ID'
    action 'KET' (noprec):   reduce expr_app_atom --> 'ID'
    action 'PLUS' (noprec):   reduce expr_app_atom --> 'ID'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'ID'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'ID'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'ID'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'PERCENT_DOT' (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 'EQ' (noprec):   reduce expr_app_atom --> 'ID'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'ID'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'AND' (noprec):   reduce expr_app_atom --> 'ID'
    action 'OR' (noprec):   reduce expr_app_atom --> 'ID'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'ID'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'ID'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'ID'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'ID'
    action 'ID' (noprec):   reduce expr_app_atom --> 'ID'
    action 'CHAR' (noprec):   reduce expr_app_atom --> 'ID'
    action 'FLOAT' (noprec):   reduce expr_app_atom --> 'ID'
    action 'INT' (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 62:  items:    expr_app_atom -> 'BRA' expr . 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   shift 63
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 63:  items:    expr_app_atom -> 'BRA' expr 'KET' . 
  actions:    action 'EOF' (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 'ARROW' (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 'TRUE' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'FALSE' (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 'PLUS' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'MINUS' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'STAR' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'SLASH' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'PERCENT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'PLUS_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'MINUS_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'STAR_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'SLASH_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'PERCENT_DOT' (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 'EQ' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'NEQ' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'LT_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'GT_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'LEQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'GEQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'EQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'NEQ_DOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'AND' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'OR' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'NOT' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'COLON' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'SEMICOLON2' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'COMMA' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action 'STRING' (noprec):   reduce expr_app_atom --> 'BRA' expr 'KET'
    action '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 'INT' (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 64:  items:    expr_tuple_atom -> expr_app_atom . 
  actions:    action 'EOF' (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 'ARROW' (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 'TRUE' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'FALSE' (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 'PLUS' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'MINUS' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'STAR' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'SLASH' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'PERCENT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'PLUS_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'MINUS_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'STAR_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'SLASH_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'PERCENT_DOT' (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 'EQ' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'NEQ' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'LT_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'GT_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'LEQ_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'GEQ_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'EQ_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'NEQ_DOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'AND' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'OR' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action 'STRING' (noprec):   reduce expr_tuple_atom --> expr_app_atom
    action '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 'INT' (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:   reduce expr_tuple_atom --> expr_app_atom  gotos:state 65:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> 'NOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'IF' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'THEN' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'ELSE' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'FUN' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'ARROW' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'LET' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'REC' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'IN' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'PLUS' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'MINUS' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'STAR' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'SLASH' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'MINUS_DOT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'STAR_DOT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'SLASH_DOT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'GT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'LEQ' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'GEQ' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'EQ' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'NEQ' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'OR' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'NOT' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'COLON' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'COMMA' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action '#' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
    action '$$' (explicit nonassoc 9999):   reduce expr_tuple_atom --> 'NOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 66:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> 'MINUS' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'IF' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'THEN' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'ELSE' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'FUN' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'ARROW' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'LET' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'REC' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'IN' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'PLUS' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'MINUS' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'STAR' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'SLASH' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'MINUS_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'STAR_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'SLASH_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'GT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'LEQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'GEQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'EQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'NEQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'OR' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'NOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'COLON' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'SEMICOLON2' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'COMMA' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action '#' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
    action '$$' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 67:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> 'MINUS_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'IF' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'THEN' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'ELSE' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'FUN' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'ARROW' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'LET' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'REC' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'IN' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'PLUS' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'MINUS' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'STAR' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'SLASH' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'MINUS_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'STAR_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'SLASH_DOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'GT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'LEQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'GEQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'EQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'NEQ' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'OR' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'NOT' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'COLON' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'COMMA' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action '#' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
    action '$$' (explicit nonassoc 10000):   reduce expr_tuple_atom --> 'MINUS_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 68:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_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 . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'IF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'THEN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'ELSE' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'FUN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'ARROW' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'REC' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'IN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'MINUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'GT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'GEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'EQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'NEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'OR' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'NOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'COLON' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'COMMA' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action '#' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
    action '$$' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 69:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'IF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'THEN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'ELSE' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'FUN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'ARROW' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'LET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'REC' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'IN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'MINUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'GT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'LEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'GEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'EQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'NEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'OR' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'NOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'COLON' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'COMMA' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action '#' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
    action '$$' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'PLUS_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 70:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' 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 . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'IF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'THEN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'ELSE' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'FUN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'ARROW' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'REC' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'IN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'MINUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'GT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'GEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'EQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'NEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'OR' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'NOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'COLON' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'COMMA' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action '#' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
    action '$$' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 71:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'IF' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'THEN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'ELSE' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'FUN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'ARROW' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'LET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'REC' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'IN' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'MINUS' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'GT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'LEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'GEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'EQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'NEQ' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'OR' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'NOT' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'COLON' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'COMMA' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action '#' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
    action '$$' (explicit left 9996):   reduce expr_tuple_atom --> expr_tuple_atom 'MINUS_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 72:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' 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 . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'IF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'THEN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'ELSE' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'FUN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'ARROW' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'REC' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'IN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'PLUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'MINUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'STAR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SLASH' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SLASH_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'GT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'GEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'EQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'NEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'OR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'NOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'COLON' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'COMMA' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action '#' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
    action '$$' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 73:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'STAR_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'IF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'THEN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'ELSE' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'FUN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'ARROW' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'LET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'REC' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'IN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'MINUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'STAR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'SLASH' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'SLASH_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'GT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'LEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'GEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'EQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'NEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'OR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'NOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'COLON' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'COMMA' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action '#' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
    action '$$' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'STAR_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 74:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' 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 . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'IF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'THEN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'ELSE' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'FUN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'ARROW' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'REC' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'IN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'PLUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'MINUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'STAR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SLASH' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SLASH_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'GT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'GEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'EQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'NEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'OR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'NOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'COLON' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'COMMA' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action '#' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
    action '$$' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 75:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'IF' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'THEN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'ELSE' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'FUN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'ARROW' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'LET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'REC' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'IN' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'MINUS' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'STAR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'SLASH' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'MINUS_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'STAR_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'SLASH_DOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'GT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'LEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'GEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'EQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'NEQ' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'OR' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'NOT' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'COLON' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'COMMA' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action '#' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
    action '$$' (explicit left 9997):   reduce expr_tuple_atom --> expr_tuple_atom 'SLASH_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 76:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'PERCENT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 77:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'PERCENT_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 78:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' 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 . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'IF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'THEN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'ELSE' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'FUN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'ARROW' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'REC' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'IN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'GT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'GEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'EQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'NEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'OR' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'NOT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'COLON' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'COMMA' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action '#' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
    action '$$' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 79:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'EQ_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'EQ_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 80:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' 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 . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'IF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'THEN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'ELSE' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'FUN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'ARROW' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'REC' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'IN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'GT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'GEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'EQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'NEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'OR' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'NOT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'COLON' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'COMMA' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action '#' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
    action '$$' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 81:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'NEQ_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 82:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' 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 . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'IF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'THEN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'ELSE' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'FUN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'ARROW' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'REC' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'IN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'GT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'GEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'EQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'NEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'OR' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'NOT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'COLON' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'COMMA' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action '#' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
    action '$$' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 83:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'LT_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LT_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 84:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' 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 . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'IF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'THEN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'ELSE' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'FUN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'ARROW' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'REC' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'IN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'GT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'GEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'EQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'NEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'OR' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'NOT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'COLON' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'COMMA' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action '#' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
    action '$$' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 85:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'GT_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GT_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 86:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' 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 . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'IF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'THEN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'ELSE' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'FUN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'ARROW' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'REC' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'IN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'GT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'GEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'EQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'NEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'OR' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'NOT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'COLON' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'COMMA' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action '#' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
    action '$$' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 87:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'LEQ_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 88:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' 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 . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'IF' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'THEN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'ELSE' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'FUN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'ARROW' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'REC' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'IN' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'GT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'GEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'EQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'NEQ' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'OR' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'NOT' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'COLON' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'COMMA' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action '#' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
    action '$$' (explicit left 9995):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 89:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atom --> expr_tuple_atom 'GEQ_DOT' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 90:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'AND' expr_tuple_atom . 
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
  actions:    action 'EOF' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'IF' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'THEN' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'ELSE' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'FUN' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'ARROW' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'LET' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'REC' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'IN' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'OR' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'NOT' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'COLON' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'COMMA' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action '#' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
    action '$$' (explicit left 9994):   reduce expr_tuple_atom --> expr_tuple_atom 'AND' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 91:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom 'OR' expr_tuple_atom . 
  actions:    action 'EOF' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'IF' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'THEN' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'ELSE' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'FUN' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'ARROW' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'LET' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'REC' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'IN' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'NOT' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'COLON' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'SEMICOLON2' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'COMMA' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action '#' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
    action '$$' (explicit left 9993):   reduce expr_tuple_atom --> expr_tuple_atom 'OR' expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 92:  items:    expr_tuple_atom -> expr_tuple_atom . expr_app_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PLUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'MINUS_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'STAR_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'SLASH_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'PERCENT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'EQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'NEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GT_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'LEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'GEQ_DOT' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'AND' expr_tuple_atom
    expr_tuple_atom -> expr_tuple_atom . 'OR' expr_tuple_atom
    expr_tuple_atoms -> expr_tuple_atom . 
    expr_tuple_atoms -> expr_tuple_atom . 'COMMA' expr_tuple_atoms
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'IF' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'THEN' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'ELSE' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'FUN' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'ARROW' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'LET' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'REC' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'IN' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'PLUS' (explicit left 9996):   shift 111
    action 'MINUS' (explicit left 9996):   shift 113
    action 'STAR' (explicit left 9997):   shift 115
    action 'SLASH' (explicit left 9997):   shift 117
    action 'PERCENT' (noprec):   shift 119
    action 'PLUS_DOT' (explicit left 9996):   shift 112
    action 'MINUS_DOT' (explicit left 9996):   shift 114
    action 'STAR_DOT' (explicit left 9997):   shift 116
    action 'SLASH_DOT' (explicit left 9997):   shift 118
    action 'PERCENT_DOT' (noprec):   shift 120
    action 'LT' (explicit left 9995):   shift 125
    action 'GT' (explicit left 9995):   shift 127
    action 'LEQ' (explicit left 9995):   shift 129
    action 'GEQ' (explicit left 9995):   shift 131
    action 'EQ' (explicit left 9995):   shift 121
    action 'NEQ' (explicit left 9995):   shift 123
    action 'LT_DOT' (noprec):   shift 126
    action 'GT_DOT' (noprec):   shift 128
    action 'LEQ_DOT' (noprec):   shift 130
    action 'GEQ_DOT' (noprec):   shift 132
    action 'EQ_DOT' (noprec):   shift 122
    action 'NEQ_DOT' (noprec):   shift 124
    action 'AND' (explicit left 9994):   shift 133
    action 'OR' (explicit left 9993):   shift 134
    action 'NOT' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'COLON' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action 'COMMA' (explicit left 9991):   shift 141
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action '#' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
    action '$$' (noprec):   reduce expr_tuple_atoms --> expr_tuple_atom
  immediate action: <none>  gotos:    goto expr_app_atom: 93
state 93:  items:    expr_tuple_atom -> expr_tuple_atom expr_app_atom . 
  actions:    action 'EOF' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'IF' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'THEN' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'ELSE' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'FUN' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'ARROW' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'LET' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'REC' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'IN' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'TRUE' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'FALSE' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'BRA' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'KET' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'PLUS' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'MINUS' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'STAR' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'SLASH' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'PERCENT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'PLUS_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'MINUS_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'STAR_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'SLASH_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'PERCENT_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'LT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'GT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'LEQ' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'GEQ' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'EQ' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'NEQ' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'LT_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'GT_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'LEQ_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'GEQ_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'EQ_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'NEQ_DOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'AND' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'OR' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'NOT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'COLON' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'SEMICOLON2' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'COMMA' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'STRING' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'ID' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'CHAR' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'FLOAT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'INT' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action 'error' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action '#' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
    action '$$' (explicit left 9998):   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom
  immediate action:   reduce expr_tuple_atom --> expr_tuple_atom expr_app_atom  gotos:state 94:  items:    expr_tuple_atom -> 'FUN' . 'ID' 'ARROW' expr
    expr_tuple_atom -> 'FUN' . 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 98
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 95
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 95:  items:    expr_tuple_atom -> 'FUN' 'ID' . 'ARROW' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (explicit right 9992):   shift 96
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 96:  items:    expr_tuple_atom -> 'FUN' 'ID' 'ARROW' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 97
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 97:  items:    expr_tuple_atom -> 'FUN' 'ID' 'ARROW' expr . 
  actions:    action 'EOF' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'IF' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'THEN' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'ELSE' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'FUN' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'ARROW' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'LET' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'REC' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'IN' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'TRUE' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'FALSE' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'BRA' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'KET' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'PLUS' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'MINUS' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'STAR' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'SLASH' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'PERCENT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'PLUS_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'MINUS_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'STAR_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'SLASH_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'PERCENT_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'LT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'GT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'LEQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'GEQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'EQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'NEQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'LT_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'GT_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'LEQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'GEQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'EQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'NEQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'AND' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'OR' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'NOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'COLON' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'SEMICOLON2' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'COMMA' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'STRING' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'ID' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'CHAR' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'FLOAT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'INT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action 'error' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action '#' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
    action '$$' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr
  immediate action:   reduce expr_tuple_atom --> 'FUN' 'ID' 'ARROW' expr  gotos:state 98:  items:    expr_tuple_atom -> 'FUN' 'BRA' . 'ID' 'COLON' ty 'KET' 'ARROW' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 99
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 99:  items:    expr_tuple_atom -> 'FUN' 'BRA' 'ID' . 'COLON' ty 'KET' 'ARROW' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   shift 100
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 100:  items:    expr_tuple_atom -> 'FUN' 'BRA' 'ID' 'COLON' . ty 'KET' 'ARROW' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 101
    goto ty_tuple: 148
state 101:  items:    expr_tuple_atom -> 'FUN' 'BRA' 'ID' 'COLON' ty . 'KET' 'ARROW' expr
    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   shift 102
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (noprec):   reduce ty_tuple --> ty
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 102:  items:    expr_tuple_atom -> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' . 'ARROW' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (explicit right 9992):   shift 103
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 103:  items:    expr_tuple_atom -> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 104
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 104:  items:    expr_tuple_atom -> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr . 
  actions:    action 'EOF' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'IF' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'THEN' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'ELSE' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'FUN' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'ARROW' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'LET' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'REC' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'IN' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'TRUE' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'FALSE' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'BRA' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'KET' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'PLUS' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'MINUS' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'STAR' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'SLASH' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'PERCENT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'PLUS_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'MINUS_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'STAR_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'SLASH_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'PERCENT_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'LT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'GT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'LEQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'GEQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'EQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'NEQ' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'LT_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'GT_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'LEQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'GEQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'EQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'NEQ_DOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'AND' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'OR' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'NOT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'COLON' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'SEMICOLON2' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'COMMA' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'STRING' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'ID' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'CHAR' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'FLOAT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'INT' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action 'error' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action '#' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
    action '$$' (explicit right 9992):   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr
  immediate action:   reduce expr_tuple_atom --> 'FUN' 'BRA' 'ID' 'COLON' ty 'KET' 'ARROW' expr  gotos:state 105:  items:    expr_tuple_atom -> binding . 'IN' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   shift 106
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 106:  items:    expr_tuple_atom -> binding 'IN' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 107
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 107:  items:    expr_tuple_atom -> binding 'IN' expr . 
  actions:    action 'EOF' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'IF' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'THEN' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'ELSE' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'FUN' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'ARROW' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'LET' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'REC' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'IN' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'TRUE' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'FALSE' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'BRA' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'KET' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'PLUS' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'MINUS' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'STAR' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'SLASH' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'PERCENT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'PLUS_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'MINUS_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'STAR_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'SLASH_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'PERCENT_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'LT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'GT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'LEQ' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'GEQ' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'EQ' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'NEQ' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'LT_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'GT_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'LEQ_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'GEQ_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'EQ_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'NEQ_DOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'AND' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'OR' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'NOT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'COLON' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'SEMICOLON2' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'COMMA' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'STRING' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'ID' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'CHAR' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'FLOAT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'INT' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action 'error' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action '#' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
    action '$$' (noprec):   reduce expr_tuple_atom --> binding 'IN' expr
  immediate action:   reduce expr_tuple_atom --> binding 'IN' expr  gotos:state 108:  items:    expr_tuple_atom -> 'NOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 65
state 109:  items:    expr_tuple_atom -> 'MINUS' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 66
state 110:  items:    expr_tuple_atom -> 'MINUS_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 67
state 111:  items:    expr_tuple_atom -> expr_tuple_atom 'PLUS' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 68
state 112:  items:    expr_tuple_atom -> expr_tuple_atom 'PLUS_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 69
state 113:  items:    expr_tuple_atom -> expr_tuple_atom 'MINUS' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 70
state 114:  items:    expr_tuple_atom -> expr_tuple_atom 'MINUS_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 71
state 115:  items:    expr_tuple_atom -> expr_tuple_atom 'STAR' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 72
state 116:  items:    expr_tuple_atom -> expr_tuple_atom 'STAR_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 73
state 117:  items:    expr_tuple_atom -> expr_tuple_atom 'SLASH' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 74
state 118:  items:    expr_tuple_atom -> expr_tuple_atom 'SLASH_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 75
state 119:  items:    expr_tuple_atom -> expr_tuple_atom 'PERCENT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 76
state 120:  items:    expr_tuple_atom -> expr_tuple_atom 'PERCENT_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 77
state 121:  items:    expr_tuple_atom -> expr_tuple_atom 'EQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 78
state 122:  items:    expr_tuple_atom -> expr_tuple_atom 'EQ_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 79
state 123:  items:    expr_tuple_atom -> expr_tuple_atom 'NEQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 80
state 124:  items:    expr_tuple_atom -> expr_tuple_atom 'NEQ_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 81
state 125:  items:    expr_tuple_atom -> expr_tuple_atom 'LT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 82
state 126:  items:    expr_tuple_atom -> expr_tuple_atom 'LT_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 83
state 127:  items:    expr_tuple_atom -> expr_tuple_atom 'GT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 84
state 128:  items:    expr_tuple_atom -> expr_tuple_atom 'GT_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 85
state 129:  items:    expr_tuple_atom -> expr_tuple_atom 'LEQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 86
state 130:  items:    expr_tuple_atom -> expr_tuple_atom 'LEQ_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 87
state 131:  items:    expr_tuple_atom -> expr_tuple_atom 'GEQ' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 88
state 132:  items:    expr_tuple_atom -> expr_tuple_atom 'GEQ_DOT' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 89
state 133:  items:    expr_tuple_atom -> expr_tuple_atom 'AND' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 90
state 134:  items:    expr_tuple_atom -> expr_tuple_atom 'OR' . expr_tuple_atom
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 91
state 135:  items:    expr_tuple_atom -> 'IF' . expr 'THEN' expr
    expr_tuple_atom -> 'IF' . expr 'THEN' expr 'ELSE' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 136
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 136:  items:    expr_tuple_atom -> 'IF' expr . 'THEN' expr
    expr_tuple_atom -> 'IF' expr . 'THEN' expr 'ELSE' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (explicit nonassoc 9990):   shift 137
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   error
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   error
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:state 137:  items:    expr_tuple_atom -> 'IF' expr 'THEN' . expr
    expr_tuple_atom -> 'IF' expr 'THEN' . expr 'ELSE' expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 138
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 138:  items:    expr_tuple_atom -> 'IF' expr 'THEN' expr . 
    expr_tuple_atom -> 'IF' expr 'THEN' expr . 'ELSE' expr
  actions:    action 'EOF' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'IF' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'THEN' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'ELSE' (explicit nonassoc 9990):   shift 139
    action 'FUN' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'ARROW' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'LET' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'REC' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'IN' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'TRUE' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'FALSE' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'BRA' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'KET' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'PLUS' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'MINUS' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'STAR' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'SLASH' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'PERCENT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'PLUS_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'MINUS_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'STAR_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'SLASH_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'PERCENT_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'LT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'GT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'LEQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'GEQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'EQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'NEQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'LT_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'GT_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'LEQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'GEQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'EQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'NEQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'AND' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'OR' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'NOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'COLON' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'SEMICOLON2' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'COMMA' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'STRING' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'ID' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'CHAR' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'FLOAT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'INT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action 'error' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action '#' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
    action '$$' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr
  immediate action: <none>  gotos:state 139:  items:    expr_tuple_atom -> 'IF' expr 'THEN' expr 'ELSE' . expr
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 12
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto expr: 140
    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 10
state 140:  items:    expr_tuple_atom -> 'IF' expr 'THEN' expr 'ELSE' expr . 
  actions:    action 'EOF' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'IF' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'THEN' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'ELSE' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'FUN' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'ARROW' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'LET' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'REC' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'IN' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'TRUE' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'FALSE' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'BRA' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'KET' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'PLUS' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'MINUS' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'STAR' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'SLASH' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'PERCENT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'PLUS_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'MINUS_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'STAR_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'SLASH_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'PERCENT_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'LT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'GT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'LEQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'GEQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'EQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'NEQ' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'LT_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'GT_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'LEQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'GEQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'EQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'NEQ_DOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'AND' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'OR' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'NOT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'COLON' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'SEMICOLON2' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'COMMA' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'STRING' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'ID' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'CHAR' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'FLOAT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'INT' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action 'error' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action '#' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
    action '$$' (explicit nonassoc 9990):   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr
  immediate action:   reduce expr_tuple_atom --> 'IF' expr 'THEN' expr 'ELSE' expr  gotos:state 141:  items:    expr_tuple_atoms -> expr_tuple_atom 'COMMA' . expr_tuple_atoms
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   shift 135
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   shift 94
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   shift 15
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   shift 57
    action 'FALSE' (noprec):   shift 58
    action 'BRA' (noprec):   shift 59
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (explicit left 9996):   shift 109
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (explicit left 9996):   shift 110
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (explicit nonassoc 9999):   shift 108
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   shift 55
    action 'ID' (noprec):   shift 61
    action 'CHAR' (noprec):   shift 56
    action 'FLOAT' (noprec):   shift 54
    action 'INT' (noprec):   shift 53
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto binding: 105
    goto expr_app_atom: 64
    goto expr_tuple_atom: 92
    goto expr_tuple_atoms: 142
state 142:  items:    expr_tuple_atoms -> expr_tuple_atom 'COMMA' expr_tuple_atoms . 
  actions:    action 'EOF' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'IF' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'THEN' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'ELSE' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'FUN' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'ARROW' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'LET' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'REC' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'IN' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'TRUE' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'FALSE' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'BRA' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'KET' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'PLUS' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'MINUS' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'STAR' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'SLASH' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'PERCENT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'PLUS_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'MINUS_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'STAR_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'SLASH_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'PERCENT_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'LT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'GT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'LEQ' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'GEQ' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'EQ' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'NEQ' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'LT_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'GT_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'LEQ_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'GEQ_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'EQ_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'NEQ_DOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'AND' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'OR' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'NOT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'COLON' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'SEMICOLON2' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'COMMA' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'STRING' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'ID' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'CHAR' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'FLOAT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'INT' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action 'error' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action '#' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
    action '$$' (explicit left 9991):   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms
  immediate action:   reduce expr_tuple_atoms --> expr_tuple_atom 'COMMA' expr_tuple_atoms  gotos:state 143:  items:    ty -> 'ID' . 
  actions:    action 'EOF' (noprec):   reduce ty --> 'ID'
    action 'IF' (noprec):   reduce ty --> 'ID'
    action 'THEN' (noprec):   reduce ty --> 'ID'
    action 'ELSE' (noprec):   reduce ty --> 'ID'
    action 'FUN' (noprec):   reduce ty --> 'ID'
    action 'ARROW' (noprec):   reduce ty --> 'ID'
    action 'LET' (noprec):   reduce ty --> 'ID'
    action 'REC' (noprec):   reduce ty --> 'ID'
    action 'IN' (noprec):   reduce ty --> 'ID'
    action 'TRUE' (noprec):   reduce ty --> 'ID'
    action 'FALSE' (noprec):   reduce ty --> 'ID'
    action 'BRA' (noprec):   reduce ty --> 'ID'
    action 'KET' (noprec):   reduce ty --> 'ID'
    action 'PLUS' (noprec):   reduce ty --> 'ID'
    action 'MINUS' (noprec):   reduce ty --> 'ID'
    action 'STAR' (noprec):   reduce ty --> 'ID'
    action 'SLASH' (noprec):   reduce ty --> 'ID'
    action 'PERCENT' (noprec):   reduce ty --> 'ID'
    action 'PLUS_DOT' (noprec):   reduce ty --> 'ID'
    action 'MINUS_DOT' (noprec):   reduce ty --> 'ID'
    action 'STAR_DOT' (noprec):   reduce ty --> 'ID'
    action 'SLASH_DOT' (noprec):   reduce ty --> 'ID'
    action 'PERCENT_DOT' (noprec):   reduce ty --> 'ID'
    action 'LT' (noprec):   reduce ty --> 'ID'
    action 'GT' (noprec):   reduce ty --> 'ID'
    action 'LEQ' (noprec):   reduce ty --> 'ID'
    action 'GEQ' (noprec):   reduce ty --> 'ID'
    action 'EQ' (noprec):   reduce ty --> 'ID'
    action 'NEQ' (noprec):   reduce ty --> 'ID'
    action 'LT_DOT' (noprec):   reduce ty --> 'ID'
    action 'GT_DOT' (noprec):   reduce ty --> 'ID'
    action 'LEQ_DOT' (noprec):   reduce ty --> 'ID'
    action 'GEQ_DOT' (noprec):   reduce ty --> 'ID'
    action 'EQ_DOT' (noprec):   reduce ty --> 'ID'
    action 'NEQ_DOT' (noprec):   reduce ty --> 'ID'
    action 'AND' (noprec):   reduce ty --> 'ID'
    action 'OR' (noprec):   reduce ty --> 'ID'
    action 'NOT' (noprec):   reduce ty --> 'ID'
    action 'COLON' (noprec):   reduce ty --> 'ID'
    action 'SEMICOLON2' (noprec):   reduce ty --> 'ID'
    action 'COMMA' (noprec):   reduce ty --> 'ID'
    action 'STRING' (noprec):   reduce ty --> 'ID'
    action 'ID' (noprec):   reduce ty --> 'ID'
    action 'CHAR' (noprec):   reduce ty --> 'ID'
    action 'FLOAT' (noprec):   reduce ty --> 'ID'
    action 'INT' (noprec):   reduce ty --> 'ID'
    action 'error' (noprec):   reduce ty --> 'ID'
    action '#' (noprec):   reduce ty --> 'ID'
    action '$$' (noprec):   reduce ty --> 'ID'
  immediate action:   reduce ty --> 'ID'  gotos:state 144:  items:    ty -> ty . 'ARROW' ty
    ty -> ty 'ARROW' ty . 
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'IF' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'THEN' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'ELSE' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'FUN' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'REC' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'IN' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'TRUE' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'FALSE' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'BRA' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'KET' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'PLUS' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'MINUS' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'PERCENT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'PLUS_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'MINUS_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'STAR_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'SLASH_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'PERCENT_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'LT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'GT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'LEQ' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'GEQ' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'EQ' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'NEQ' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'LT_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'GT_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'LEQ_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'GEQ_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'EQ_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'NEQ_DOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'AND' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'OR' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'NOT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'COLON' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'SEMICOLON2' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'COMMA' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'STRING' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'ID' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'CHAR' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'FLOAT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'INT' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action 'error' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action '#' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
    action '$$' (explicit right 9992):   reduce ty --> ty 'ARROW' ty
  immediate action: <none>  gotos:state 145:  items:    ty -> ty . 'ARROW' ty
    ty -> 'BRA' ty . 'KET'
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   shift 151
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (noprec):   reduce ty_tuple --> ty
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 146:  items:    ty -> ty . 'ARROW' ty
    ty_tuple -> ty . 
    ty_tuple -> ty . 'STAR' ty_tuple
  actions:    action 'EOF' (noprec):   reduce ty_tuple --> ty
    action 'IF' (noprec):   reduce ty_tuple --> ty
    action 'THEN' (noprec):   reduce ty_tuple --> ty
    action 'ELSE' (noprec):   reduce ty_tuple --> ty
    action 'FUN' (noprec):   reduce ty_tuple --> ty
    action 'ARROW' (explicit right 9992):   shift 147
    action 'LET' (noprec):   reduce ty_tuple --> ty
    action 'REC' (noprec):   reduce ty_tuple --> ty
    action 'IN' (noprec):   reduce ty_tuple --> ty
    action 'TRUE' (noprec):   reduce ty_tuple --> ty
    action 'FALSE' (noprec):   reduce ty_tuple --> ty
    action 'BRA' (noprec):   reduce ty_tuple --> ty
    action 'KET' (noprec):   reduce ty_tuple --> ty
    action 'PLUS' (noprec):   reduce ty_tuple --> ty
    action 'MINUS' (noprec):   reduce ty_tuple --> ty
    action 'STAR' (explicit left 9997):   shift 152
    action 'SLASH' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT' (noprec):   reduce ty_tuple --> ty
    action 'PLUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'MINUS_DOT' (noprec):   reduce ty_tuple --> ty
    action 'STAR_DOT' (noprec):   reduce ty_tuple --> ty
    action 'SLASH_DOT' (noprec):   reduce ty_tuple --> ty
    action 'PERCENT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LT' (noprec):   reduce ty_tuple --> ty
    action 'GT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ' (noprec):   reduce ty_tuple --> ty
    action 'GEQ' (noprec):   reduce ty_tuple --> ty
    action 'EQ' (noprec):   reduce ty_tuple --> ty
    action 'NEQ' (noprec):   reduce ty_tuple --> ty
    action 'LT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GT_DOT' (noprec):   reduce ty_tuple --> ty
    action 'LEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'GEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'EQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'NEQ_DOT' (noprec):   reduce ty_tuple --> ty
    action 'AND' (noprec):   reduce ty_tuple --> ty
    action 'OR' (noprec):   reduce ty_tuple --> ty
    action 'NOT' (noprec):   reduce ty_tuple --> ty
    action 'COLON' (noprec):   reduce ty_tuple --> ty
    action 'SEMICOLON2' (noprec):   reduce ty_tuple --> ty
    action 'COMMA' (noprec):   reduce ty_tuple --> ty
    action 'STRING' (noprec):   reduce ty_tuple --> ty
    action 'ID' (noprec):   reduce ty_tuple --> ty
    action 'CHAR' (noprec):   reduce ty_tuple --> ty
    action 'FLOAT' (noprec):   reduce ty_tuple --> ty
    action 'INT' (noprec):   reduce ty_tuple --> ty
    action 'error' (noprec):   reduce ty_tuple --> ty
    action '#' (noprec):   reduce ty_tuple --> ty
    action '$$' (noprec):   reduce ty_tuple --> ty
  immediate action: <none>  gotos:state 147:  items:    ty -> ty 'ARROW' . ty
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 144
    goto ty_tuple: 148
state 148:  items:    ty -> ty_tuple . 
  actions:    action 'EOF' (noprec):   reduce ty --> ty_tuple
    action 'IF' (noprec):   reduce ty --> ty_tuple
    action 'THEN' (noprec):   reduce ty --> ty_tuple
    action 'ELSE' (noprec):   reduce ty --> ty_tuple
    action 'FUN' (noprec):   reduce ty --> ty_tuple
    action 'ARROW' (noprec):   reduce ty --> ty_tuple
    action 'LET' (noprec):   reduce ty --> ty_tuple
    action 'REC' (noprec):   reduce ty --> ty_tuple
    action 'IN' (noprec):   reduce ty --> ty_tuple
    action 'TRUE' (noprec):   reduce ty --> ty_tuple
    action 'FALSE' (noprec):   reduce ty --> ty_tuple
    action 'BRA' (noprec):   reduce ty --> ty_tuple
    action 'KET' (noprec):   reduce ty --> ty_tuple
    action 'PLUS' (noprec):   reduce ty --> ty_tuple
    action 'MINUS' (noprec):   reduce ty --> ty_tuple
    action 'STAR' (noprec):   reduce ty --> ty_tuple
    action 'SLASH' (noprec):   reduce ty --> ty_tuple
    action 'PERCENT' (noprec):   reduce ty --> ty_tuple
    action 'PLUS_DOT' (noprec):   reduce ty --> ty_tuple
    action 'MINUS_DOT' (noprec):   reduce ty --> ty_tuple
    action 'STAR_DOT' (noprec):   reduce ty --> ty_tuple
    action 'SLASH_DOT' (noprec):   reduce ty --> ty_tuple
    action 'PERCENT_DOT' (noprec):   reduce ty --> ty_tuple
    action 'LT' (noprec):   reduce ty --> ty_tuple
    action 'GT' (noprec):   reduce ty --> ty_tuple
    action 'LEQ' (noprec):   reduce ty --> ty_tuple
    action 'GEQ' (noprec):   reduce ty --> ty_tuple
    action 'EQ' (noprec):   reduce ty --> ty_tuple
    action 'NEQ' (noprec):   reduce ty --> ty_tuple
    action 'LT_DOT' (noprec):   reduce ty --> ty_tuple
    action 'GT_DOT' (noprec):   reduce ty --> ty_tuple
    action 'LEQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'GEQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'EQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'NEQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'AND' (noprec):   reduce ty --> ty_tuple
    action 'OR' (noprec):   reduce ty --> ty_tuple
    action 'NOT' (noprec):   reduce ty --> ty_tuple
    action 'COLON' (noprec):   reduce ty --> ty_tuple
    action 'SEMICOLON2' (noprec):   reduce ty --> ty_tuple
    action 'COMMA' (noprec):   reduce ty --> ty_tuple
    action 'STRING' (noprec):   reduce ty --> ty_tuple
    action 'ID' (noprec):   reduce ty --> ty_tuple
    action 'CHAR' (noprec):   reduce ty --> ty_tuple
    action 'FLOAT' (noprec):   reduce ty --> ty_tuple
    action 'INT' (noprec):   reduce ty --> ty_tuple
    action 'error' (noprec):   reduce ty --> ty_tuple
    action '#' (noprec):   reduce ty --> ty_tuple
    action '$$' (noprec):   reduce ty --> ty_tuple
  immediate action:   reduce ty --> ty_tuple  gotos:state 149:  items:    ty -> ty_tuple . 
    ty_tuple -> ty 'STAR' ty_tuple . 
  actions:    action 'EOF' (noprec):   reduce ty --> ty_tuple
    action 'IF' (noprec):   reduce ty --> ty_tuple
    action 'THEN' (noprec):   reduce ty --> ty_tuple
    action 'ELSE' (noprec):   reduce ty --> ty_tuple
    action 'FUN' (noprec):   reduce ty --> ty_tuple
    action 'ARROW' (noprec):   reduce ty --> ty_tuple
    action 'LET' (noprec):   reduce ty --> ty_tuple
    action 'REC' (noprec):   reduce ty --> ty_tuple
    action 'IN' (noprec):   reduce ty --> ty_tuple
    action 'TRUE' (noprec):   reduce ty --> ty_tuple
    action 'FALSE' (noprec):   reduce ty --> ty_tuple
    action 'BRA' (noprec):   reduce ty --> ty_tuple
    action 'KET' (noprec):   reduce ty --> ty_tuple
    action 'PLUS' (noprec):   reduce ty --> ty_tuple
    action 'MINUS' (noprec):   reduce ty --> ty_tuple
    action 'STAR' (noprec):   reduce ty --> ty_tuple
    action 'SLASH' (noprec):   reduce ty --> ty_tuple
    action 'PERCENT' (noprec):   reduce ty --> ty_tuple
    action 'PLUS_DOT' (noprec):   reduce ty --> ty_tuple
    action 'MINUS_DOT' (noprec):   reduce ty --> ty_tuple
    action 'STAR_DOT' (noprec):   reduce ty --> ty_tuple
    action 'SLASH_DOT' (noprec):   reduce ty --> ty_tuple
    action 'PERCENT_DOT' (noprec):   reduce ty --> ty_tuple
    action 'LT' (noprec):   reduce ty --> ty_tuple
    action 'GT' (noprec):   reduce ty --> ty_tuple
    action 'LEQ' (noprec):   reduce ty --> ty_tuple
    action 'GEQ' (noprec):   reduce ty --> ty_tuple
    action 'EQ' (noprec):   reduce ty --> ty_tuple
    action 'NEQ' (noprec):   reduce ty --> ty_tuple
    action 'LT_DOT' (noprec):   reduce ty --> ty_tuple
    action 'GT_DOT' (noprec):   reduce ty --> ty_tuple
    action 'LEQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'GEQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'EQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'NEQ_DOT' (noprec):   reduce ty --> ty_tuple
    action 'AND' (noprec):   reduce ty --> ty_tuple
    action 'OR' (noprec):   reduce ty --> ty_tuple
    action 'NOT' (noprec):   reduce ty --> ty_tuple
    action 'COLON' (noprec):   reduce ty --> ty_tuple
    action 'SEMICOLON2' (noprec):   reduce ty --> ty_tuple
    action 'COMMA' (noprec):   reduce ty --> ty_tuple
    action 'STRING' (noprec):   reduce ty --> ty_tuple
    action 'ID' (noprec):   reduce ty --> ty_tuple
    action 'CHAR' (noprec):   reduce ty --> ty_tuple
    action 'FLOAT' (noprec):   reduce ty --> ty_tuple
    action 'INT' (noprec):   reduce ty --> ty_tuple
    action 'error' (noprec):   reduce ty --> ty_tuple
    action '#' (noprec):   reduce ty --> ty_tuple
    action '$$' (noprec):   reduce ty --> ty_tuple
  immediate action: <none>  gotos:state 150:  items:    ty -> 'BRA' . ty 'KET'
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 145
    goto ty_tuple: 148
state 151:  items:    ty -> 'BRA' ty 'KET' . 
  actions:    action 'EOF' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'IF' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'THEN' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'ELSE' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'FUN' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'ARROW' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'LET' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'REC' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'IN' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'TRUE' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'FALSE' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'BRA' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'KET' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'PLUS' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'MINUS' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'STAR' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'SLASH' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'PERCENT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'PLUS_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'MINUS_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'STAR_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'SLASH_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'PERCENT_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'LT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'GT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'LEQ' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'GEQ' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'EQ' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'NEQ' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'LT_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'GT_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'LEQ_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'GEQ_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'EQ_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'NEQ_DOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'AND' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'OR' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'NOT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'COLON' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'SEMICOLON2' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'COMMA' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'STRING' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'ID' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'CHAR' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'FLOAT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'INT' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action 'error' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action '#' (noprec):   reduce ty --> 'BRA' ty 'KET'
    action '$$' (noprec):   reduce ty --> 'BRA' ty 'KET'
  immediate action:   reduce ty --> 'BRA' ty 'KET'  gotos:state 152:  items:    ty_tuple -> ty 'STAR' . ty_tuple
  actions:    action 'EOF' (noprec):   error
    action 'IF' (noprec):   error
    action 'THEN' (noprec):   error
    action 'ELSE' (noprec):   error
    action 'FUN' (noprec):   error
    action 'ARROW' (noprec):   error
    action 'LET' (noprec):   error
    action 'REC' (noprec):   error
    action 'IN' (noprec):   error
    action 'TRUE' (noprec):   error
    action 'FALSE' (noprec):   error
    action 'BRA' (noprec):   shift 150
    action 'KET' (noprec):   error
    action 'PLUS' (noprec):   error
    action 'MINUS' (noprec):   error
    action 'STAR' (noprec):   error
    action 'SLASH' (noprec):   error
    action 'PERCENT' (noprec):   error
    action 'PLUS_DOT' (noprec):   error
    action 'MINUS_DOT' (noprec):   error
    action 'STAR_DOT' (noprec):   error
    action 'SLASH_DOT' (noprec):   error
    action 'PERCENT_DOT' (noprec):   error
    action 'LT' (noprec):   error
    action 'GT' (noprec):   error
    action 'LEQ' (noprec):   error
    action 'GEQ' (noprec):   error
    action 'EQ' (noprec):   error
    action 'NEQ' (noprec):   error
    action 'LT_DOT' (noprec):   error
    action 'GT_DOT' (noprec):   error
    action 'LEQ_DOT' (noprec):   error
    action 'GEQ_DOT' (noprec):   error
    action 'EQ_DOT' (noprec):   error
    action 'NEQ_DOT' (noprec):   error
    action 'AND' (noprec):   error
    action 'OR' (noprec):   error
    action 'NOT' (noprec):   error
    action 'COLON' (noprec):   error
    action 'SEMICOLON2' (noprec):   error
    action 'COMMA' (noprec):   error
    action 'STRING' (noprec):   error
    action 'ID' (noprec):   shift 143
    action 'CHAR' (noprec):   error
    action 'FLOAT' (noprec):   error
    action 'INT' (noprec):   error
    action 'error' (noprec):   error
    action '#' (noprec):   error
    action '$$' (noprec):   error
  immediate action: <none>  gotos:    goto ty: 146
    goto ty_tuple: 149

startStates = 0;2
------------------------
