SOURCE_FILE@[0; 82) FN_DEF@[0; 81) 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; 81) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 26) ATTR@[15; 19) POUND@[15; 16) TOKEN_TREE@[16; 19) L_BRACK@[16; 17) IDENT@[17; 18) "A" R_BRACK@[18; 19) WHITESPACE@[19; 20) CALL_EXPR@[20; 25) PATH_EXPR@[20; 23) PATH@[20; 23) PATH_SEGMENT@[20; 23) NAME_REF@[20; 23) IDENT@[20; 23) "foo" ARG_LIST@[23; 25) L_PAREN@[23; 24) R_PAREN@[24; 25) SEMI@[25; 26) WHITESPACE@[26; 31) EXPR_STMT@[31; 42) ATTR@[31; 35) POUND@[31; 32) TOKEN_TREE@[32; 35) L_BRACK@[32; 33) IDENT@[33; 34) "B" R_BRACK@[34; 35) WHITESPACE@[35; 36) MACRO_CALL@[36; 42) PATH@[36; 39) PATH_SEGMENT@[36; 39) NAME_REF@[36; 39) IDENT@[36; 39) "bar" EXCL@[39; 40) TOKEN_TREE@[40; 42) L_CURLY@[40; 41) R_CURLY@[41; 42) WHITESPACE@[42; 47) EXPR_STMT@[47; 59) ATTR@[47; 51) POUND@[47; 48) TOKEN_TREE@[48; 51) L_BRACK@[48; 49) IDENT@[49; 50) "C" R_BRACK@[50; 51) WHITESPACE@[51; 52) ATTR@[52; 56) POUND@[52; 53) TOKEN_TREE@[53; 56) L_BRACK@[53; 54) IDENT@[54; 55) "D" R_BRACK@[55; 56) WHITESPACE@[56; 57) BLOCK_EXPR@[57; 59) BLOCK@[57; 59) L_CURLY@[57; 58) R_CURLY@[58; 59) WHITESPACE@[59; 64) EXPR_STMT@[64; 79) ATTR@[64; 68) POUND@[64; 65) TOKEN_TREE@[65; 68) L_BRACK@[65; 66) IDENT@[66; 67) "D" R_BRACK@[67; 68) WHITESPACE@[68; 69) RETURN_EXPR@[69; 78) RETURN_KW@[69; 75) WHITESPACE@[75; 76) TUPLE_EXPR@[76; 78) L_PAREN@[76; 77) R_PAREN@[77; 78) SEMI@[78; 79) WHITESPACE@[79; 80) R_CURLY@[80; 81) WHITESPACE@[81; 82)