SOURCE_FILE@0..46
FN@0..45
FN_KW@0..2 "fn"
WHITESPACE@2..3 " "
NAME@3..4
IDENT@3..4 "f"
PARAM_LIST@4..6
L_PAREN@4..5 "("
R_PAREN@5..6 ")"
WHITESPACE@6..7 " "
BLOCK_EXPR@7..45
STMT_LIST@7..45
L_CURLY@7..8 "{"
WHITESPACE@8..9 " "
LET_STMT@9..43
LET_KW@9..12 "let"
WHITESPACE@12..13 " "
TUPLE_STRUCT_PAT@13..20
PATH@13..17
PATH_SEGMENT@13..17
NAME_REF@13..17
IDENT@13..17 "Some"
L_PAREN@17..18 "("
IDENT_PAT@18..19
NAME@18..19
IDENT@18..19 "x"
R_PAREN@19..20 ")"
WHITESPACE@20..21 " "
EQ@21..22 "="
WHITESPACE@22..23 " "
PATH_EXPR@23..26
PATH@23..26
PATH_SEGMENT@23..26
NAME_REF@23..26
IDENT@23..26 "opt"
WHITESPACE@26..27 " "
LET_ELSE@27..42
ELSE_KW@27..31 "else"
WHITESPACE@31..32 " "
BLOCK_EXPR@32..42
STMT_LIST@32..42
L_CURLY@32..33 "{"
WHITESPACE@33..34 " "
RETURN_EXPR@34..40
RETURN_KW@34..40 "return"
WHITESPACE@40..41 " "
R_CURLY@41..42 "}"
SEMICOLON@42..43 ";"
WHITESPACE@43..44 " "
R_CURLY@44..45 "}"
WHITESPACE@45..46 "\n"