JetFile: FunctionTypesWithFunctionReceivers.kt
  PACKAGE_DIRECTIVE
    <empty list>
  IMPORT_LIST
    <empty list>
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  PsiElement(LPAR)('(')
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('S')
                  PsiElement(RPAR)(')')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('T')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('T')
                    PsiElement(DOT)('.')
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('T')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('T')
                      TYPE_ARGUMENT_LIST
                        PsiElement(LT)('<')
                        TYPE_PROJECTION
                          TYPE_REFERENCE
                            USER_TYPE
                              REFERENCE_EXPRESSION
                                PsiElement(IDENTIFIER)('A')
                        PsiElement(COMMA)(',')
                        PsiWhiteSpace(' ')
                        TYPE_PROJECTION
                          TYPE_REFERENCE
                            USER_TYPE
                              REFERENCE_EXPRESSION
                                PsiElement(IDENTIFIER)('B')
                        PsiElement(GT)('>')
                    PsiElement(DOT)('.')
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('T')
                    TYPE_ARGUMENT_LIST
                      PsiElement(LT)('<')
                      TYPE_PROJECTION
                        TYPE_REFERENCE
                          USER_TYPE
                            REFERENCE_EXPRESSION
                              PsiElement(IDENTIFIER)('x')
                      PsiElement(GT)('>')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  PsiElement(LPAR)('(')
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('S')
                  PsiElement(RPAR)(')')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace('  ')
    TYPE_REFERENCE
      ANNOTATION
        PsiElement(AT)('@')
        PsiElement(LBRACKET)('[')
        ANNOTATION_ENTRY
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('a')
        PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            ANNOTATION
              PsiElement(AT)('@')
              PsiElement(LBRACKET)('[')
              ANNOTATION_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('a')
              PsiElement(RBRACKET)(']')
            PsiWhiteSpace(' ')
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  PsiElement(LPAR)('(')
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('S')
                  PsiElement(RPAR)(')')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      ANNOTATION
        PsiElement(AT)('@')
        PsiElement(LBRACKET)('[')
        ANNOTATION_ENTRY
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('a')
        PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            ANNOTATION
              PsiElement(AT)('@')
              PsiElement(LBRACKET)('[')
              ANNOTATION_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('a')
              PsiElement(RBRACKET)(']')
            PsiWhiteSpace(' ')
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('T')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      ANNOTATION
        PsiElement(AT)('@')
        PsiElement(LBRACKET)('[')
        ANNOTATION_ENTRY
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('a')
        PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            ANNOTATION
              PsiElement(AT)('@')
              PsiElement(LBRACKET)('[')
              ANNOTATION_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('a')
              PsiElement(RBRACKET)(']')
            PsiWhiteSpace(' ')
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('T')
                    TYPE_ARGUMENT_LIST
                      PsiElement(LT)('<')
                      TYPE_PROJECTION
                        TYPE_REFERENCE
                          USER_TYPE
                            REFERENCE_EXPRESSION
                              PsiElement(IDENTIFIER)('A')
                      PsiElement(COMMA)(',')
                      PsiWhiteSpace(' ')
                      TYPE_PROJECTION
                        TYPE_REFERENCE
                          USER_TYPE
                            REFERENCE_EXPRESSION
                              PsiElement(IDENTIFIER)('B')
                      PsiElement(GT)('>')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')
  PsiWhiteSpace('\n')
  TYPEALIAS
    PsiElement(typealias)('typealias')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('f')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    TYPE_REFERENCE
      ANNOTATION
        PsiElement(AT)('@')
        PsiElement(LBRACKET)('[')
        ANNOTATION_ENTRY
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('a')
        PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      PsiElement(LPAR)('(')
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            ANNOTATION
              PsiElement(AT)('@')
              PsiElement(LBRACKET)('[')
              ANNOTATION_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('a')
              PsiElement(RBRACKET)(']')
            PsiWhiteSpace(' ')
            PsiElement(LPAR)('(')
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  PsiElement(LPAR)('(')
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('S')
                  PsiElement(RPAR)(')')
              PsiElement(DOT)('.')
              VALUE_PARAMETER_LIST
                PsiElement(LPAR)('(')
                PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              PsiElement(ARROW)('->')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('S')
            PsiElement(RPAR)(')')
        PsiElement(DOT)('.')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(ARROW)('->')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('S')
      PsiElement(RPAR)(')')