PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  FUN[fqName=foo, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_REFERENCE
      MODIFIER_LIST[]
        ANNOTATION
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=T]
              TYPE_ARGUMENT_LIST
                TYPE_PROJECTION[projectionKind=NONE]
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=T]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=A]
                TYPE_ARGUMENT_LIST
                  TYPE_PROJECTION[projectionKind=NONE]
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=B]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Unit]
    VALUE_PARAMETER_LIST
  FUN[fqName=foo, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_REFERENCE
      MODIFIER_LIST[]
        ANNOTATION
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=T]
              TYPE_ARGUMENT_LIST
                TYPE_PROJECTION[projectionKind=NONE]
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=T]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=A]
                TYPE_ARGUMENT_LIST
                  TYPE_PROJECTION[projectionKind=NONE]
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=B]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=C]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=D]
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=E]
    VALUE_PARAMETER_LIST
  FUN[fqName=foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_REFERENCE
      MODIFIER_LIST[]
        ANNOTATION
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      MODIFIER_LIST[]
        ANNOTATION
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      FUNCTION_TYPE
        FUNCTION_TYPE_RECEIVER
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=T]
              TYPE_ARGUMENT_LIST
                TYPE_PROJECTION[projectionKind=NONE]
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=T]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=A]
                TYPE_ARGUMENT_LIST
                  TYPE_PROJECTION[projectionKind=NONE]
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=B]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=R]
    VALUE_PARAMETER_LIST
  FUN[fqName=foo, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=A]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=B]
    TYPE_REFERENCE
      MODIFIER_LIST[]
        ANNOTATION
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      FUNCTION_TYPE
        VALUE_PARAMETER_LIST
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Unit]
    VALUE_PARAMETER_LIST
  FUN[fqName=foo, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=true, mayHaveContract=false, name=foo]
    MODIFIER_LIST[]
      ANNOTATION
        ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=a]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=A]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=B]
    TYPE_REFERENCE
      MODIFIER_LIST[]
        ANNOTATION
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      FUNCTION_TYPE
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=A]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=B]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Unit]
    VALUE_PARAMETER_LIST
