Documentation
SOURCE_FILE@0..112
  FN@0..111
    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..111
      STMT_LIST@10..111
        L_CURLY@10..11 "{"
        WHITESPACE@11..16 "\n    "
        LET_STMT@16..31
          LET_KW@16..19 "let"
          WHITESPACE@19..20 " "
          WILDCARD_PAT@20..21
            UNDERSCORE@20..21 "_"
          WHITESPACE@21..22 " "
          EQ@22..23 "="
          WHITESPACE@23..24 " "
          LITERAL@24..30
            CHAR@24..30 "'c'u32"
          SEMICOLON@30..31 ";"
        WHITESPACE@31..36 "\n    "
        LET_STMT@36..60
          LET_KW@36..39 "let"
          WHITESPACE@39..40 " "
          WILDCARD_PAT@40..41
            UNDERSCORE@40..41 "_"
          WHITESPACE@41..42 " "
          EQ@42..43 "="
          WHITESPACE@43..44 " "
          LITERAL@44..59
            STRING@44..59 "\"string\"invalid"
          SEMICOLON@59..60 ";"
        WHITESPACE@60..65 "\n    "
        LET_STMT@65..83
          LET_KW@65..68 "let"
          WHITESPACE@68..69 " "
          WILDCARD_PAT@69..70
            UNDERSCORE@69..70 "_"
          WHITESPACE@70..71 " "
          EQ@71..72 "="
          WHITESPACE@72..73 " "
          LITERAL@73..82
            BYTE@73..82 "b'b'_suff"
          SEMICOLON@82..83 ";"
        WHITESPACE@83..88 "\n    "
        LET_STMT@88..109
          LET_KW@88..91 "let"
          WHITESPACE@91..92 " "
          WILDCARD_PAT@92..93
            UNDERSCORE@92..93 "_"
          WHITESPACE@93..94 " "
          EQ@94..95 "="
          WHITESPACE@95..96 " "
          LITERAL@96..108
            BYTE_STRING@96..108 "b\"bs\"invalid"
          SEMICOLON@108..109 ";"
        WHITESPACE@109..110 "\n"
        R_CURLY@110..111 "}"
  WHITESPACE@111..112 "\n"