PsiJetFileStubImpl[package=test]
  PACKAGE_DIRECTIVE:
    REFERENCE_EXPRESSION:[referencedName=test]
  IMPORT_LIST:
  CLASS:[fqName=test.TypeParams, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=TypeParams, superNames=[]]
    MODIFIER_LIST:[public final]
    TYPE_PARAMETER_LIST:
      TYPE_PARAMETER:[fqName=null, isInVariance=true, isOutVariance=false, name=T1]
        MODIFIER_LIST:[in]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Any]
      TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=true, name=T2]
        MODIFIER_LIST:[out]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=String]
      TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T3]
        TYPE_REFERENCE:
          FUNCTION_TYPE:
            VALUE_PARAMETER_LIST:
              VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                TYPE_REFERENCE:
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    USER_TYPE:[isAbsoluteInRootPackage=false]
                      REFERENCE_EXPRESSION:[referencedName=kotlin]
                    REFERENCE_EXPRESSION:[referencedName=Int]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  REFERENCE_EXPRESSION:[referencedName=kotlin]
                REFERENCE_EXPRESSION:[referencedName=Int]
      TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T4]
      TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T5]
      TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T6]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=T5]
      TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T7]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Any]
    PRIMARY_CONSTRUCTOR:
      MODIFIER_LIST:[public]
      VALUE_PARAMETER_LIST:
    TYPE_CONSTRAINT_LIST:
      TYPE_CONSTRAINT:
        REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          NULLABLE_TYPE:
            USER_TYPE:[isAbsoluteInRootPackage=false]
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=kotlin]
              REFERENCE_EXPRESSION:[referencedName=Any]
      TYPE_CONSTRAINT:
        REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          NULLABLE_TYPE:
            USER_TYPE:[isAbsoluteInRootPackage=false]
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=kotlin]
              REFERENCE_EXPRESSION:[referencedName=Int]
      TYPE_CONSTRAINT:
        REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Int]
      TYPE_CONSTRAINT:
        REFERENCE_EXPRESSION:[referencedName=T7]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=T6]
    CLASS_BODY:
      PROPERTY:[fqName=test.TypeParams.useSomeParam, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=useSomeParam]
        MODIFIER_LIST:[public final]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=T2]
      PROPERTY:[fqName=test.TypeParams.withOwnBoundedParam, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=withOwnBoundedParam]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G1]
            TYPE_REFERENCE:
              NULLABLE_TYPE:
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    REFERENCE_EXPRESSION:[referencedName=kotlin]
                  REFERENCE_EXPRESSION:[referencedName=Int]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=G1]
      PROPERTY:[fqName=test.TypeParams.withOwnBoundedParamByOther, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=withOwnBoundedParamByOther]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T4]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=G1]
      PROPERTY:[fqName=test.TypeParams.withOwnParam, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=withOwnParam]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=G1]
      FUN:[fqName=test.TypeParams.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, name=f]
        MODIFIER_LIST:[public final]
          ANNOTATION_ENTRY:[hasValueArguments=false, shortName=inline]
            CONSTRUCTOR_CALLEE:
              TYPE_REFERENCE:
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    REFERENCE_EXPRESSION:[referencedName=kotlin]
                  REFERENCE_EXPRESSION:[referencedName=inline]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G]
            MODIFIER_LIST:[reified]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T]
            MODIFIER_LIST:[reified]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=g]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=body]
            TYPE_REFERENCE:
              FUNCTION_TYPE:
                VALUE_PARAMETER_LIST:
                  VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=G]
                TYPE_REFERENCE:
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    REFERENCE_EXPRESSION:[referencedName=T]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=T]
      FUN:[fqName=test.TypeParams.useParams, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParams]
        MODIFIER_LIST:[public final]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
            TYPE_REFERENCE:
              FUNCTION_TYPE:
                VALUE_PARAMETER_LIST:
                  VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=T2]
                TYPE_REFERENCE:
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    USER_TYPE:[isAbsoluteInRootPackage=false]
                      REFERENCE_EXPRESSION:[referencedName=kotlin]
                    REFERENCE_EXPRESSION:[referencedName=Unit]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T3]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T4]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=P5]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T5]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
      FUN:[fqName=test.TypeParams.useParamsInOtherOrder, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParamsInOtherOrder]
        MODIFIER_LIST:[public final]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T3]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T3]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T5]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=P5]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
      FUN:[fqName=test.TypeParams.useParamsInTypeArg, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParamsInTypeArg]
        MODIFIER_LIST:[public final]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  REFERENCE_EXPRESSION:[referencedName=kotlin]
                REFERENCE_EXPRESSION:[referencedName=List]
                TYPE_ARGUMENT_LIST:
                  TYPE_PROJECTION:[projectionKind=NONE]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=T1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  REFERENCE_EXPRESSION:[referencedName=kotlin]
                REFERENCE_EXPRESSION:[referencedName=Map]
                TYPE_ARGUMENT_LIST:
                  TYPE_PROJECTION:[projectionKind=NONE]
                    TYPE_REFERENCE:
                      NULLABLE_TYPE:
                        USER_TYPE:[isAbsoluteInRootPackage=false]
                          REFERENCE_EXPRESSION:[referencedName=T4]
                  TYPE_PROJECTION:[projectionKind=NONE]
                    TYPE_REFERENCE:
                      NULLABLE_TYPE:
                        USER_TYPE:[isAbsoluteInRootPackage=false]
                          REFERENCE_EXPRESSION:[referencedName=T5]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
            TYPE_REFERENCE:
              FUNCTION_TYPE:
                FUNCTION_TYPE_RECEIVER:
                  TYPE_REFERENCE:
                    USER_TYPE:[isAbsoluteInRootPackage=false]
                      REFERENCE_EXPRESSION:[referencedName=T4]
                VALUE_PARAMETER_LIST:
                  VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=T2]
                  VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=T3]
                TYPE_REFERENCE:
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
      FUN:[fqName=test.TypeParams.withOwnParams, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, name=withOwnParams]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G1]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G2]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G3]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G2]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G3]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
            TYPE_REFERENCE:
              FUNCTION_TYPE:
                VALUE_PARAMETER_LIST:
                  VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=T2]
                TYPE_REFERENCE:
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    USER_TYPE:[isAbsoluteInRootPackage=false]
                      REFERENCE_EXPRESSION:[referencedName=kotlin]
                    REFERENCE_EXPRESSION:[referencedName=Unit]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
      FUN:[fqName=test.TypeParams.withOwnParamsAndTypeConstraints, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, name=withOwnParamsAndTypeConstraints]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G1]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G2]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G1]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G1]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G2]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=G3]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
            TYPE_REFERENCE:
              FUNCTION_TYPE:
                VALUE_PARAMETER_LIST:
                  VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE:
                      USER_TYPE:[isAbsoluteInRootPackage=false]
                        REFERENCE_EXPRESSION:[referencedName=T2]
                TYPE_REFERENCE:
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    USER_TYPE:[isAbsoluteInRootPackage=false]
                      REFERENCE_EXPRESSION:[referencedName=kotlin]
                    REFERENCE_EXPRESSION:[referencedName=Unit]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
        TYPE_CONSTRAINT_LIST:
          TYPE_CONSTRAINT:
            REFERENCE_EXPRESSION:[referencedName=G3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  REFERENCE_EXPRESSION:[referencedName=kotlin]
                REFERENCE_EXPRESSION:[referencedName=String]
          TYPE_CONSTRAINT:
            REFERENCE_EXPRESSION:[referencedName=G3]
            TYPE_REFERENCE:
              NULLABLE_TYPE:
                USER_TYPE:[isAbsoluteInRootPackage=false]
                  USER_TYPE:[isAbsoluteInRootPackage=false]
                    REFERENCE_EXPRESSION:[referencedName=kotlin]
                  REFERENCE_EXPRESSION:[referencedName=String]
      FUN:[fqName=test.TypeParams.withOwnParamsClashing, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, name=withOwnParamsClashing]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T1]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T2]
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T3]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T2]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T3]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T4]
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T5]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
      FUN:[fqName=test.TypeParams.withOwnParamExtension, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=false, name=withOwnParamExtension]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=T1]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
      FUN:[fqName=test.TypeParams.withOwnParamExtensionAfterName, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=false, name=withOwnParamExtensionAfterName]
        MODIFIER_LIST:[public final]
        TYPE_PARAMETER_LIST:
          TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            REFERENCE_EXPRESSION:[referencedName=T1]
        VALUE_PARAMETER_LIST:
          VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
            TYPE_REFERENCE:
              USER_TYPE:[isAbsoluteInRootPackage=false]
                REFERENCE_EXPRESSION:[referencedName=T1]
        TYPE_REFERENCE:
          USER_TYPE:[isAbsoluteInRootPackage=false]
            USER_TYPE:[isAbsoluteInRootPackage=false]
              REFERENCE_EXPRESSION:[referencedName=kotlin]
            REFERENCE_EXPRESSION:[referencedName=Unit]
