SOURCE_FILE@[0; 118)
  FN_DEF@[0; 117)
    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; 117)
      L_CURLY@[9; 10)
      WHITESPACE@[10; 15)
      LET_STMT@[15; 27)
        LET_KW@[15; 18)
        WHITESPACE@[18; 19)
        PLACEHOLDER_PAT@[19; 20)
          UNDERSCORE@[19; 20)
        WHITESPACE@[20; 21)
        EQ@[21; 22)
        WHITESPACE@[22; 23)
        CALL_EXPR@[23; 26)
          PATH_EXPR@[23; 24)
            PATH@[23; 24)
              PATH_SEGMENT@[23; 24)
                NAME_REF@[23; 24)
                  IDENT@[23; 24) "f"
          ARG_LIST@[24; 26)
            L_PAREN@[24; 25)
            R_PAREN@[25; 26)
        SEMI@[26; 27)
      WHITESPACE@[27; 32)
      LET_STMT@[32; 54)
        LET_KW@[32; 35)
        WHITESPACE@[35; 36)
        PLACEHOLDER_PAT@[36; 37)
          UNDERSCORE@[36; 37)
        WHITESPACE@[37; 38)
        EQ@[38; 39)
        WHITESPACE@[39; 40)
        CALL_EXPR@[40; 53)
          CALL_EXPR@[40; 46)
            CALL_EXPR@[40; 43)
              PATH_EXPR@[40; 41)
                PATH@[40; 41)
                  PATH_SEGMENT@[40; 41)
                    NAME_REF@[40; 41)
                      IDENT@[40; 41) "f"
              ARG_LIST@[41; 43)
                L_PAREN@[41; 42)
                R_PAREN@[42; 43)
            ARG_LIST@[43; 46)
              L_PAREN@[43; 44)
              LITERAL@[44; 45)
                INT_NUMBER@[44; 45) "1"
              R_PAREN@[45; 46)
          ARG_LIST@[46; 53)
            L_PAREN@[46; 47)
            LITERAL@[47; 48)
              INT_NUMBER@[47; 48) "1"
            COMMA@[48; 49)
            WHITESPACE@[49; 50)
            LITERAL@[50; 51)
              INT_NUMBER@[50; 51) "2"
            COMMA@[51; 52)
            R_PAREN@[52; 53)
        SEMI@[53; 54)
      WHITESPACE@[54; 59)
      LET_STMT@[59; 84)
        LET_KW@[59; 62)
        WHITESPACE@[62; 63)
        PLACEHOLDER_PAT@[63; 64)
          UNDERSCORE@[63; 64)
        WHITESPACE@[64; 65)
        EQ@[65; 66)
        WHITESPACE@[66; 67)
        CALL_EXPR@[67; 83)
          PATH_EXPR@[67; 68)
            PATH@[67; 68)
              PATH_SEGMENT@[67; 68)
                NAME_REF@[67; 68)
                  IDENT@[67; 68) "f"
          ARG_LIST@[68; 83)
            L_PAREN@[68; 69)
            CALL_EXPR@[69; 82)
              PATH_EXPR@[69; 80)
                PATH@[69; 80)
                  PATH@[69; 74)
                    PATH_SEGMENT@[69; 74)
                      L_ANGLE@[69; 70)
                      PATH_TYPE@[70; 73)
                        PATH@[70; 73)
                          PATH_SEGMENT@[70; 73)
                            NAME_REF@[70; 73)
                              IDENT@[70; 73) "Foo"
                      R_ANGLE@[73; 74)
                  COLONCOLON@[74; 76)
                  PATH_SEGMENT@[76; 80)
                    NAME_REF@[76; 80)
                      IDENT@[76; 80) "func"
              ARG_LIST@[80; 82)
                L_PAREN@[80; 81)
                R_PAREN@[81; 82)
            R_PAREN@[82; 83)
        SEMI@[83; 84)
      WHITESPACE@[84; 89)
      EXPR_STMT@[89; 115)
        CALL_EXPR@[89; 114)
          PATH_EXPR@[89; 90)
            PATH@[89; 90)
              PATH_SEGMENT@[89; 90)
                NAME_REF@[89; 90)
                  IDENT@[89; 90) "f"
          ARG_LIST@[90; 114)
            L_PAREN@[90; 91)
            CALL_EXPR@[91; 113)
              PATH_EXPR@[91; 111)
                PATH@[91; 111)
                  PATH@[91; 105)
                    PATH_SEGMENT@[91; 105)
                      L_ANGLE@[91; 92)
                      PATH_TYPE@[92; 95)
                        PATH@[92; 95)
                          PATH_SEGMENT@[92; 95)
                            NAME_REF@[92; 95)
                              IDENT@[92; 95) "Foo"
                      WHITESPACE@[95; 96)
                      AS_KW@[96; 98)
                      WHITESPACE@[98; 99)
                      PATH_TYPE@[99; 104)
                        PATH@[99; 104)
                          PATH_SEGMENT@[99; 104)
                            NAME_REF@[99; 104)
                              IDENT@[99; 104) "Trait"
                      R_ANGLE@[104; 105)
                  COLONCOLON@[105; 107)
                  PATH_SEGMENT@[107; 111)
                    NAME_REF@[107; 111)
                      IDENT@[107; 111) "func"
              ARG_LIST@[111; 113)
                L_PAREN@[111; 112)
                R_PAREN@[112; 113)
            R_PAREN@[113; 114)
        SEMI@[114; 115)
      WHITESPACE@[115; 116)
      R_CURLY@[116; 117)
  WHITESPACE@[117; 118)
