ROOT@[0; 47)
  FN_DEF@[0; 46)
    FN_KW@[0; 2)
    WHITESPACE@[2; 3)
    NAME@[3; 6)
      IDENT@[3; 6) "foo"
    PARAM_LIST@[6; 8)
      L_PAREN@[6; 7)
      R_PAREN@[7; 8)
    WHITESPACE@[8; 9)
    BLOCK@[9; 46)
      L_CURLY@[9; 10)
      WHITESPACE@[10; 15)
      EXPR_STMT@[15; 28)
        MATCH_EXPR@[15; 27)
          MATCH_KW@[15; 20)
          WHITESPACE@[20; 21)
          TUPLE_EXPR@[21; 23)
            L_PAREN@[21; 22)
            R_PAREN@[22; 23)
          WHITESPACE@[23; 24)
          MATCH_ARM_LIST@[24; 27)
            L_CURLY@[24; 25)
            WHITESPACE@[25; 26)
            R_CURLY@[26; 27)
        SEMI@[27; 28)
      WHITESPACE@[28; 33)
      EXPR_STMT@[33; 44)
        MATCH_EXPR@[33; 43)
          MATCH_KW@[33; 38)
          WHITESPACE@[38; 39)
          PATH_EXPR@[39; 40)
            PATH@[39; 40)
              PATH_SEGMENT@[39; 40)
                NAME_REF@[39; 40)
                  IDENT@[39; 40) "S"
          WHITESPACE@[40; 41)
          MATCH_ARM_LIST@[41; 43)
            L_CURLY@[41; 42)
            R_CURLY@[42; 43)
        SEMI@[43; 44)
      WHITESPACE@[44; 45)
      R_CURLY@[45; 46)
  WHITESPACE@[46; 47)