1SOURCE_FILE@0..146
2  FN@0..145
3    FN_KW@0..2 "fn"
4    WHITESPACE@2..3 " "
5    NAME@3..7
6      IDENT@3..7 "main"
7    PARAM_LIST@7..9
8      L_PAREN@7..8 "("
9      R_PAREN@8..9 ")"
10    WHITESPACE@9..10 " "
11    BLOCK_EXPR@10..145
12      STMT_LIST@10..145
13        L_CURLY@10..11 "{"
14        WHITESPACE@11..16 "\n    "
15        LET_STMT@16..27
16          LET_KW@16..19 "let"
17          WHITESPACE@19..20 " "
18          IDENT_PAT@20..21
19            NAME@20..21
20              IDENT@20..21 "a"
21          WHITESPACE@21..22 " "
22          EQ@22..23 "="
23          WHITESPACE@23..24 " "
24          TUPLE_EXPR@24..26
25            L_PAREN@24..25 "("
26            R_PAREN@25..26 ")"
27          SEMICOLON@26..27 ";"
28        WHITESPACE@27..32 "\n    "
29        LET_STMT@32..47
30          LET_KW@32..35 "let"
31          WHITESPACE@35..36 " "
32          IDENT_PAT@36..41
33            MUT_KW@36..39 "mut"
34            WHITESPACE@39..40 " "
35            NAME@40..41
36              IDENT@40..41 "b"
37          WHITESPACE@41..42 " "
38          EQ@42..43 "="
39          WHITESPACE@43..44 " "
40          TUPLE_EXPR@44..46
41            L_PAREN@44..45 "("
42            R_PAREN@45..46 ")"
43          SEMICOLON@46..47 ";"
44        WHITESPACE@47..52 "\n    "
45        LET_STMT@52..67
46          LET_KW@52..55 "let"
47          WHITESPACE@55..56 " "
48          IDENT_PAT@56..61
49            REF_KW@56..59 "ref"
50            WHITESPACE@59..60 " "
51            NAME@60..61
52              IDENT@60..61 "c"
53          WHITESPACE@61..62 " "
54          EQ@62..63 "="
55          WHITESPACE@63..64 " "
56          TUPLE_EXPR@64..66
57            L_PAREN@64..65 "("
58            R_PAREN@65..66 ")"
59          SEMICOLON@66..67 ";"
60        WHITESPACE@67..72 "\n    "
61        LET_STMT@72..91
62          LET_KW@72..75 "let"
63          WHITESPACE@75..76 " "
64          IDENT_PAT@76..85
65            REF_KW@76..79 "ref"
66            WHITESPACE@79..80 " "
67            MUT_KW@80..83 "mut"
68            WHITESPACE@83..84 " "
69            NAME@84..85
70              IDENT@84..85 "d"
71          WHITESPACE@85..86 " "
72          EQ@86..87 "="
73          WHITESPACE@87..88 " "
74          TUPLE_EXPR@88..90
75            L_PAREN@88..89 "("
76            R_PAREN@89..90 ")"
77          SEMICOLON@90..91 ";"
78        WHITESPACE@91..96 "\n    "
79        LET_STMT@96..111
80          LET_KW@96..99 "let"
81          WHITESPACE@99..100 " "
82          IDENT_PAT@100..105
83            NAME@100..101
84              IDENT@100..101 "e"
85            WHITESPACE@101..102 " "
86            AT@102..103 "@"
87            WHITESPACE@103..104 " "
88            WILDCARD_PAT@104..105
89              UNDERSCORE@104..105 "_"
90          WHITESPACE@105..106 " "
91          EQ@106..107 "="
92          WHITESPACE@107..108 " "
93          TUPLE_EXPR@108..110
94            L_PAREN@108..109 "("
95            R_PAREN@109..110 ")"
96          SEMICOLON@110..111 ";"
97        WHITESPACE@111..116 "\n    "
98        LET_STMT@116..143
99          LET_KW@116..119 "let"
100          WHITESPACE@119..120 " "
101          IDENT_PAT@120..137
102            REF_KW@120..123 "ref"
103            WHITESPACE@123..124 " "
104            MUT_KW@124..127 "mut"
105            WHITESPACE@127..128 " "
106            NAME@128..129
107              IDENT@128..129 "f"
108            WHITESPACE@129..130 " "
109            AT@130..131 "@"
110            WHITESPACE@131..132 " "
111            IDENT_PAT@132..137
112              NAME@132..133
113                IDENT@132..133 "g"
114              WHITESPACE@133..134 " "
115              AT@134..135 "@"
116              WHITESPACE@135..136 " "
117              WILDCARD_PAT@136..137
118                UNDERSCORE@136..137 "_"
119          WHITESPACE@137..138 " "
120          EQ@138..139 "="
121          WHITESPACE@139..140 " "
122          TUPLE_EXPR@140..142
123            L_PAREN@140..141 "("
124            R_PAREN@141..142 ")"
125          SEMICOLON@142..143 ";"
126        WHITESPACE@143..144 "\n"
127        R_CURLY@144..145 "}"
128  WHITESPACE@145..146 "\n"
129