SOURCE_FILE@[0; 161) FN_DEF@[0; 160) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) BLOCK@[9; 160) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 158) MATCH_EXPR@[15; 157) MATCH_KW@[15; 20) WHITESPACE@[20; 21) TUPLE_EXPR@[21; 23) L_PAREN@[21; 22) R_PAREN@[22; 23) WHITESPACE@[23; 24) MATCH_ARM_LIST@[24; 157) L_CURLY@[24; 25) WHITESPACE@[25; 34) MATCH_ARM@[34; 41) PLACEHOLDER_PAT@[34; 35) UNDERSCORE@[34; 35) WHITESPACE@[35; 36) FAT_ARROW@[36; 38) WHITESPACE@[38; 39) TUPLE_EXPR@[39; 41) L_PAREN@[39; 40) R_PAREN@[40; 41) COMMA@[41; 42) WHITESPACE@[42; 51) MATCH_ARM@[51; 77) PLACEHOLDER_PAT@[51; 52) UNDERSCORE@[51; 52) WHITESPACE@[52; 53) IF_KW@[53; 55) WHITESPACE@[55; 56) BIN_EXPR@[56; 71) PATH_EXPR@[56; 60) PATH@[56; 60) PATH_SEGMENT@[56; 60) NAME_REF@[56; 60) IDENT@[56; 60) "Test" R_ANGLE@[60; 61) BLOCK_EXPR@[61; 71) BLOCK@[61; 71) L_CURLY@[61; 62) EXPR_STMT@[62; 67) PATH_EXPR@[62; 67) PATH@[62; 67) PATH_SEGMENT@[62; 67) NAME_REF@[62; 67) IDENT@[62; 67) "field" err: `expected SEMI` err: `expected expression` EXPR_STMT@[67; 68) ERROR@[67; 68) COLON@[67; 68) err: `expected SEMI` WHITESPACE@[68; 69) LITERAL@[69; 70) INT_NUMBER@[69; 70) "0" R_CURLY@[70; 71) WHITESPACE@[71; 72) FAT_ARROW@[72; 74) WHITESPACE@[74; 75) TUPLE_EXPR@[75; 77) L_PAREN@[75; 76) R_PAREN@[76; 77) COMMA@[77; 78) WHITESPACE@[78; 87) MATCH_ARM@[87; 103) BIND_PAT@[87; 88) NAME@[87; 88) IDENT@[87; 88) "X" WHITESPACE@[88; 89) PIPE@[89; 90) WHITESPACE@[90; 91) BIND_PAT@[91; 92) NAME@[91; 92) IDENT@[91; 92) "Y" WHITESPACE@[92; 93) IF_KW@[93; 95) WHITESPACE@[95; 96) PATH_EXPR@[96; 97) PATH@[96; 97) PATH_SEGMENT@[96; 97) NAME_REF@[96; 97) IDENT@[96; 97) "Z" WHITESPACE@[97; 98) FAT_ARROW@[98; 100) WHITESPACE@[100; 101) TUPLE_EXPR@[101; 103) L_PAREN@[101; 102) R_PAREN@[102; 103) COMMA@[103; 104) WHITESPACE@[104; 113) MATCH_ARM@[113; 131) PIPE@[113; 114) WHITESPACE@[114; 115) BIND_PAT@[115; 116) NAME@[115; 116) IDENT@[115; 116) "X" WHITESPACE@[116; 117) PIPE@[117; 118) WHITESPACE@[118; 119) BIND_PAT@[119; 120) NAME@[119; 120) IDENT@[119; 120) "Y" WHITESPACE@[120; 121) IF_KW@[121; 123) WHITESPACE@[123; 124) PATH_EXPR@[124; 125) PATH@[124; 125) PATH_SEGMENT@[124; 125) NAME_REF@[124; 125) IDENT@[124; 125) "Z" WHITESPACE@[125; 126) FAT_ARROW@[126; 128) WHITESPACE@[128; 129) TUPLE_EXPR@[129; 131) L_PAREN@[129; 130) R_PAREN@[130; 131) COMMA@[131; 132) WHITESPACE@[132; 141) MATCH_ARM@[141; 150) PIPE@[141; 142) WHITESPACE@[142; 143) BIND_PAT@[143; 144) NAME@[143; 144) IDENT@[143; 144) "X" WHITESPACE@[144; 145) FAT_ARROW@[145; 147) WHITESPACE@[147; 148) TUPLE_EXPR@[148; 150) L_PAREN@[148; 149) R_PAREN@[149; 150) COMMA@[150; 151) WHITESPACE@[151; 156) R_CURLY@[156; 157) SEMI@[157; 158) WHITESPACE@[158; 159) R_CURLY@[159; 160) WHITESPACE@[160; 161)