SOURCE_FILE@[0; 197) FN_DEF@[0; 37) FN_KW@[0; 2) "fn" 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_EXPR@[9; 37) BLOCK@[9; 37) L_CURLY@[9; 10) "{" WHITESPACE@[10; 11) " " IF_EXPR@[11; 35) IF_KW@[11; 13) "if" WHITESPACE@[13; 14) " " CONDITION@[14; 32) LET_KW@[14; 17) "let" WHITESPACE@[17; 18) " " TUPLE_STRUCT_PAT@[18; 25) PATH@[18; 22) PATH_SEGMENT@[18; 22) NAME_REF@[18; 22) IDENT@[18; 22) "Some" L_PAREN@[22; 23) "(" PLACEHOLDER_PAT@[23; 24) UNDERSCORE@[23; 24) "_" R_PAREN@[24; 25) ")" WHITESPACE@[25; 26) " " EQ@[26; 27) "=" WHITESPACE@[27; 28) " " PATH_EXPR@[28; 32) PATH@[28; 32) PATH_SEGMENT@[28; 32) NAME_REF@[28; 32) IDENT@[28; 32) "None" WHITESPACE@[32; 33) " " BLOCK_EXPR@[33; 35) BLOCK@[33; 35) L_CURLY@[33; 34) "{" R_CURLY@[34; 35) "}" WHITESPACE@[35; 36) " " R_CURLY@[36; 37) "}" WHITESPACE@[37; 38) "\n" FN_DEF@[38; 196) FN_KW@[38; 40) "fn" WHITESPACE@[40; 41) " " NAME@[41; 44) IDENT@[41; 44) "bar" PARAM_LIST@[44; 46) L_PAREN@[44; 45) "(" R_PAREN@[45; 46) ")" WHITESPACE@[46; 47) " " BLOCK_EXPR@[47; 196) BLOCK@[47; 196) L_CURLY@[47; 48) "{" WHITESPACE@[48; 53) "\n " EXPR_STMT@[53; 87) IF_EXPR@[53; 87) IF_KW@[53; 55) "if" WHITESPACE@[55; 56) " " CONDITION@[56; 84) LET_KW@[56; 59) "let" WHITESPACE@[59; 60) " " TUPLE_STRUCT_PAT@[60; 67) PATH@[60; 64) PATH_SEGMENT@[60; 64) NAME_REF@[60; 64) IDENT@[60; 64) "Some" L_PAREN@[64; 65) "(" PLACEHOLDER_PAT@[65; 66) UNDERSCORE@[65; 66) "_" R_PAREN@[66; 67) ")" WHITESPACE@[67; 68) " " PIPE@[68; 69) "|" WHITESPACE@[69; 70) " " TUPLE_STRUCT_PAT@[70; 77) PATH@[70; 74) PATH_SEGMENT@[70; 74) NAME_REF@[70; 74) IDENT@[70; 74) "Some" L_PAREN@[74; 75) "(" PLACEHOLDER_PAT@[75; 76) UNDERSCORE@[75; 76) "_" R_PAREN@[76; 77) ")" WHITESPACE@[77; 78) " " EQ@[78; 79) "=" WHITESPACE@[79; 80) " " PATH_EXPR@[80; 84) PATH@[80; 84) PATH_SEGMENT@[80; 84) NAME_REF@[80; 84) IDENT@[80; 84) "None" WHITESPACE@[84; 85) " " BLOCK_EXPR@[85; 87) BLOCK@[85; 87) L_CURLY@[85; 86) "{" R_CURLY@[86; 87) "}" WHITESPACE@[87; 92) "\n " EXPR_STMT@[92; 118) IF_EXPR@[92; 118) IF_KW@[92; 94) "if" WHITESPACE@[94; 95) " " CONDITION@[95; 115) LET_KW@[95; 98) "let" WHITESPACE@[98; 99) " " PIPE@[99; 100) "|" WHITESPACE@[100; 101) " " TUPLE_STRUCT_PAT@[101; 108) PATH@[101; 105) PATH_SEGMENT@[101; 105) NAME_REF@[101; 105) IDENT@[101; 105) "Some" L_PAREN@[105; 106) "(" PLACEHOLDER_PAT@[106; 107) UNDERSCORE@[106; 107) "_" R_PAREN@[107; 108) ")" WHITESPACE@[108; 109) " " EQ@[109; 110) "=" WHITESPACE@[110; 111) " " PATH_EXPR@[111; 115) PATH@[111; 115) PATH_SEGMENT@[111; 115) NAME_REF@[111; 115) IDENT@[111; 115) "None" WHITESPACE@[115; 116) " " BLOCK_EXPR@[116; 118) BLOCK@[116; 118) L_CURLY@[116; 117) "{" R_CURLY@[117; 118) "}" WHITESPACE@[118; 123) "\n " EXPR_STMT@[123; 160) WHILE_EXPR@[123; 160) WHILE_KW@[123; 128) "while" WHITESPACE@[128; 129) " " CONDITION@[129; 157) LET_KW@[129; 132) "let" WHITESPACE@[132; 133) " " TUPLE_STRUCT_PAT@[133; 140) PATH@[133; 137) PATH_SEGMENT@[133; 137) NAME_REF@[133; 137) IDENT@[133; 137) "Some" L_PAREN@[137; 138) "(" PLACEHOLDER_PAT@[138; 139) UNDERSCORE@[138; 139) "_" R_PAREN@[139; 140) ")" WHITESPACE@[140; 141) " " PIPE@[141; 142) "|" WHITESPACE@[142; 143) " " TUPLE_STRUCT_PAT@[143; 150) PATH@[143; 147) PATH_SEGMENT@[143; 147) NAME_REF@[143; 147) IDENT@[143; 147) "Some" L_PAREN@[147; 148) "(" PLACEHOLDER_PAT@[148; 149) UNDERSCORE@[148; 149) "_" R_PAREN@[149; 150) ")" WHITESPACE@[150; 151) " " EQ@[151; 152) "=" WHITESPACE@[152; 153) " " PATH_EXPR@[153; 157) PATH@[153; 157) PATH_SEGMENT@[153; 157) NAME_REF@[153; 157) IDENT@[153; 157) "None" WHITESPACE@[157; 158) " " BLOCK_EXPR@[158; 160) BLOCK@[158; 160) L_CURLY@[158; 159) "{" R_CURLY@[159; 160) "}" WHITESPACE@[160; 165) "\n " WHILE_EXPR@[165; 194) WHILE_KW@[165; 170) "while" WHITESPACE@[170; 171) " " CONDITION@[171; 191) LET_KW@[171; 174) "let" WHITESPACE@[174; 175) " " PIPE@[175; 176) "|" WHITESPACE@[176; 177) " " TUPLE_STRUCT_PAT@[177; 184) PATH@[177; 181) PATH_SEGMENT@[177; 181) NAME_REF@[177; 181) IDENT@[177; 181) "Some" L_PAREN@[181; 182) "(" PLACEHOLDER_PAT@[182; 183) UNDERSCORE@[182; 183) "_" R_PAREN@[183; 184) ")" WHITESPACE@[184; 185) " " EQ@[185; 186) "=" WHITESPACE@[186; 187) " " PATH_EXPR@[187; 191) PATH@[187; 191) PATH_SEGMENT@[187; 191) NAME_REF@[187; 191) IDENT@[187; 191) "None" WHITESPACE@[191; 192) " " BLOCK_EXPR@[192; 194) BLOCK@[192; 194) L_CURLY@[192; 193) "{" R_CURLY@[193; 194) "}" WHITESPACE@[194; 195) "\n" R_CURLY@[195; 196) "}" WHITESPACE@[196; 197) "\n"