SOURCE_FILE@[0; 64) FN_DEF@[0; 63) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 6) IDENT@[3; 6) "foo" TYPE_PARAM_LIST@[6; 49) L_ANGLE@[6; 7) LIFETIME_PARAM@[7; 29) ATTR@[7; 26) POUND@[7; 8) TOKEN_TREE@[8; 26) L_BRACK@[8; 9) IDENT@[9; 15) "derive" TOKEN_TREE@[15; 25) L_PAREN@[15; 16) IDENT@[16; 24) "Lifetime" R_PAREN@[24; 25) R_BRACK@[25; 26) WHITESPACE@[26; 27) LIFETIME@[27; 29) "'a" COMMA@[29; 30) WHITESPACE@[30; 31) TYPE_PARAM@[31; 48) ATTR@[31; 46) POUND@[31; 32) TOKEN_TREE@[32; 46) L_BRACK@[32; 33) IDENT@[33; 39) "derive" TOKEN_TREE@[39; 45) L_PAREN@[39; 40) IDENT@[40; 44) "Type" R_PAREN@[44; 45) R_BRACK@[45; 46) WHITESPACE@[46; 47) NAME@[47; 48) IDENT@[47; 48) "T" R_ANGLE@[48; 49) PARAM_LIST@[49; 59) L_PAREN@[49; 50) PARAM@[50; 58) PLACEHOLDER_PAT@[50; 51) UNDERSCORE@[50; 51) COLON@[51; 52) WHITESPACE@[52; 53) REFERENCE_TYPE@[53; 58) AMP@[53; 54) LIFETIME@[54; 56) "'a" WHITESPACE@[56; 57) PATH_TYPE@[57; 58) PATH@[57; 58) PATH_SEGMENT@[57; 58) NAME_REF@[57; 58) IDENT@[57; 58) "T" R_PAREN@[58; 59) WHITESPACE@[59; 60) BLOCK@[60; 63) L_CURLY@[60; 61) WHITESPACE@[61; 62) R_CURLY@[62; 63) WHITESPACE@[63; 64)