SOURCE_FILE@0..146 FN@0..145 FN_KW@0..2 "fn" WHITESPACE@2..3 " " NAME@3..7 IDENT@3..7 "main" PARAM_LIST@7..9 L_PAREN@7..8 "(" R_PAREN@8..9 ")" WHITESPACE@9..10 " " BLOCK_EXPR@10..145 L_CURLY@10..11 "{" WHITESPACE@11..16 "\n " LET_STMT@16..27 LET_KW@16..19 "let" WHITESPACE@19..20 " " IDENT_PAT@20..21 NAME@20..21 IDENT@20..21 "a" WHITESPACE@21..22 " " EQ@22..23 "=" WHITESPACE@23..24 " " TUPLE_EXPR@24..26 L_PAREN@24..25 "(" R_PAREN@25..26 ")" SEMICOLON@26..27 ";" WHITESPACE@27..32 "\n " LET_STMT@32..47 LET_KW@32..35 "let" WHITESPACE@35..36 " " IDENT_PAT@36..41 MUT_KW@36..39 "mut" WHITESPACE@39..40 " " NAME@40..41 IDENT@40..41 "b" WHITESPACE@41..42 " " EQ@42..43 "=" WHITESPACE@43..44 " " TUPLE_EXPR@44..46 L_PAREN@44..45 "(" R_PAREN@45..46 ")" SEMICOLON@46..47 ";" WHITESPACE@47..52 "\n " LET_STMT@52..67 LET_KW@52..55 "let" WHITESPACE@55..56 " " IDENT_PAT@56..61 REF_KW@56..59 "ref" WHITESPACE@59..60 " " NAME@60..61 IDENT@60..61 "c" WHITESPACE@61..62 " " EQ@62..63 "=" WHITESPACE@63..64 " " TUPLE_EXPR@64..66 L_PAREN@64..65 "(" R_PAREN@65..66 ")" SEMICOLON@66..67 ";" WHITESPACE@67..72 "\n " LET_STMT@72..91 LET_KW@72..75 "let" WHITESPACE@75..76 " " IDENT_PAT@76..85 REF_KW@76..79 "ref" WHITESPACE@79..80 " " MUT_KW@80..83 "mut" WHITESPACE@83..84 " " NAME@84..85 IDENT@84..85 "d" WHITESPACE@85..86 " " EQ@86..87 "=" WHITESPACE@87..88 " " TUPLE_EXPR@88..90 L_PAREN@88..89 "(" R_PAREN@89..90 ")" SEMICOLON@90..91 ";" WHITESPACE@91..96 "\n " LET_STMT@96..111 LET_KW@96..99 "let" WHITESPACE@99..100 " " IDENT_PAT@100..105 NAME@100..101 IDENT@100..101 "e" WHITESPACE@101..102 " " AT@102..103 "@" WHITESPACE@103..104 " " WILDCARD_PAT@104..105 UNDERSCORE@104..105 "_" WHITESPACE@105..106 " " EQ@106..107 "=" WHITESPACE@107..108 " " TUPLE_EXPR@108..110 L_PAREN@108..109 "(" R_PAREN@109..110 ")" SEMICOLON@110..111 ";" WHITESPACE@111..116 "\n " LET_STMT@116..143 LET_KW@116..119 "let" WHITESPACE@119..120 " " IDENT_PAT@120..137 REF_KW@120..123 "ref" WHITESPACE@123..124 " " MUT_KW@124..127 "mut" WHITESPACE@127..128 " " NAME@128..129 IDENT@128..129 "f" WHITESPACE@129..130 " " AT@130..131 "@" WHITESPACE@131..132 " " IDENT_PAT@132..137 NAME@132..133 IDENT@132..133 "g" WHITESPACE@133..134 " " AT@134..135 "@" WHITESPACE@135..136 " " WILDCARD_PAT@136..137 UNDERSCORE@136..137 "_" WHITESPACE@137..138 " " EQ@138..139 "=" WHITESPACE@139..140 " " TUPLE_EXPR@140..142 L_PAREN@140..141 "(" R_PAREN@141..142 ")" SEMICOLON@142..143 ";" WHITESPACE@143..144 "\n" R_CURLY@144..145 "}" WHITESPACE@145..146 "\n"