SOURCE_FILE
  FN
    FN_KW "fn"
    WHITESPACE " "
    NAME
      IDENT "f"
    PARAM_LIST
      L_PAREN "("
      R_PAREN ")"
    WHITESPACE " "
    BLOCK_EXPR
      STMT_LIST
        L_CURLY "{"
        WHITESPACE "\n    "
        EXPR_STMT
          PATH_EXPR
            PATH
              PATH_SEGMENT
                NAME_REF
                  IDENT "S"
                GENERIC_ARG_LIST
                  COLON2 "::"
                  L_ANGLE "<"
                  TYPE_ARG
                    PATH_TYPE
                      PATH
                        PATH
                          PATH_SEGMENT
                            NAME_REF
                              IDENT "Item"
                            GENERIC_ARG_LIST
                              COLON2 "::"
                              L_ANGLE "<"
                              TYPE_ARG
                                PATH_TYPE
                                  PATH
                                    PATH_SEGMENT
                                      NAME_REF
                                        IDENT "lol"
                              R_ANGLE ">"
                        COLON2 "::"
                        ERROR
                          L_ANGLE "<"
        BIN_EXPR
          PATH_EXPR
            PATH
              PATH_SEGMENT
                NAME_REF
                  IDENT "nope"
          SHR ">>"
          ERROR
            SEMICOLON ";"
        WHITESPACE "\n"
        R_CURLY "}"
  WHITESPACE "\n\n"
  FN
    FN_KW "fn"
    WHITESPACE " "
    NAME
      IDENT "g"
    PARAM_LIST
      L_PAREN "("
      R_PAREN ")"
    WHITESPACE " "
    BLOCK_EXPR
      STMT_LIST
        L_CURLY "{"
        WHITESPACE "\n    "
        LET_STMT
          LET_KW "let"
          WHITESPACE " "
          WILDCARD_PAT
            UNDERSCORE "_"
          COLON ":"
          WHITESPACE " "
          PATH_TYPE
            PATH
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "Item"
                  GENERIC_ARG_LIST
                    COLON2 "::"
                    L_ANGLE "<"
                    TYPE_ARG
                      PATH_TYPE
                        PATH
                          PATH_SEGMENT
                            NAME_REF
                              IDENT "lol"
                    R_ANGLE ">"
              COLON2 "::"
              ERROR
                L_ANGLE "<"
        EXPR_STMT
          BIN_EXPR
            PATH_EXPR
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "nope"
            R_ANGLE ">"
            WHITESPACE " "
            ERROR
              EQ "="
        WHITESPACE " "
        EXPR_STMT
          TUPLE_EXPR
            L_PAREN "("
            R_PAREN ")"
          SEMICOLON ";"
        WHITESPACE "\n"
        R_CURLY "}"
  WHITESPACE "\n"
error 30: expected identifier
error 31: expected COMMA
error 31: expected R_ANGLE
error 31: expected SEMICOLON
error 37: expected expression
error 75: expected identifier
error 76: expected SEMICOLON
error 82: expected expression
error 83: expected SEMICOLON
