SOURCE_FILE@[0; 125) FN_DEF@[0; 124) 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; 124) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 122) MATCH_EXPR@[15; 121) 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; 121) 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; 67) BIND_PAT@[51; 52) NAME@[51; 52) IDENT@[51; 52) "X" WHITESPACE@[52; 53) PIPE@[53; 54) WHITESPACE@[54; 55) BIND_PAT@[55; 56) NAME@[55; 56) IDENT@[55; 56) "Y" WHITESPACE@[56; 57) IF_KW@[57; 59) WHITESPACE@[59; 60) PATH_EXPR@[60; 61) PATH@[60; 61) PATH_SEGMENT@[60; 61) NAME_REF@[60; 61) IDENT@[60; 61) "Z" WHITESPACE@[61; 62) FAT_ARROW@[62; 64) WHITESPACE@[64; 65) TUPLE_EXPR@[65; 67) L_PAREN@[65; 66) R_PAREN@[66; 67) COMMA@[67; 68) WHITESPACE@[68; 77) MATCH_ARM@[77; 95) PIPE@[77; 78) WHITESPACE@[78; 79) BIND_PAT@[79; 80) NAME@[79; 80) IDENT@[79; 80) "X" WHITESPACE@[80; 81) PIPE@[81; 82) WHITESPACE@[82; 83) BIND_PAT@[83; 84) NAME@[83; 84) IDENT@[83; 84) "Y" WHITESPACE@[84; 85) IF_KW@[85; 87) WHITESPACE@[87; 88) PATH_EXPR@[88; 89) PATH@[88; 89) PATH_SEGMENT@[88; 89) NAME_REF@[88; 89) IDENT@[88; 89) "Z" WHITESPACE@[89; 90) FAT_ARROW@[90; 92) WHITESPACE@[92; 93) TUPLE_EXPR@[93; 95) L_PAREN@[93; 94) R_PAREN@[94; 95) COMMA@[95; 96) WHITESPACE@[96; 105) MATCH_ARM@[105; 114) PIPE@[105; 106) WHITESPACE@[106; 107) BIND_PAT@[107; 108) NAME@[107; 108) IDENT@[107; 108) "X" WHITESPACE@[108; 109) FAT_ARROW@[109; 111) WHITESPACE@[111; 112) TUPLE_EXPR@[112; 114) L_PAREN@[112; 113) R_PAREN@[113; 114) COMMA@[114; 115) WHITESPACE@[115; 120) R_CURLY@[120; 121) SEMI@[121; 122) WHITESPACE@[122; 123) R_CURLY@[123; 124) WHITESPACE@[124; 125)