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"