@R|Anno|(str = String(return type) [evaluated = String(return type)])  P1.P2<@R|Anno|(str = String(nested return type) [evaluated = String(nested return type)])  T2, T1>
  context -> FirNamedFunctionSymbol /P1.createP2
  anchor -> [FirNamedFunctionSymbol /P1.createP2]

@R|Anno|(str = String(nested return type) [evaluated = String(nested return type)])  T2
  context -> FirNamedFunctionSymbol /P1.createP2
  anchor -> [FirNamedFunctionSymbol /P1.createP2]

@R|Anno|(str = String(nested return type) [evaluated = String(nested return type)])  T2
  context -> FirNamedFunctionSymbol /P1.createP2
  anchor -> [FirNamedFunctionSymbol /P1.createP2]

FILE: [ResolvedTo(IMPORTS)] constructorCallSiteScript.kts
    SCRIPT: [ResolvedTo(TYPES)] <script-constructorCallSiteScript.kts>
        [ResolvedTo(TYPES)] <script receiver parameter>: R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
        [ResolvedTo(TYPES)] lval args: R|kotlin/Array<kotlin/String>|

        @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] [ContainingScriptKey=FirScriptSymbol <script-constructorCallSiteScript.kts>, ScriptTopLevelDeclaration=true] annotation class Anno : R|kotlin/Annotation| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.str] str: R|kotlin/String|): R|Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|<local>/str|
                public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|

        }

        public open [ResolvedTo(STATUS)] [ContainingScriptKey=FirScriptSymbol <script-constructorCallSiteScript.kts>, ScriptTopLevelDeclaration=true] class P1<[ResolvedTo(STATUS)] T1> : R|kotlin/Any| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=P1] constructor<[ResolvedTo(STATUS)] T1>(): R|P1<T1>| {
                LAZY_super<R|kotlin/Any|>
            }

            public final inner [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingScriptKey=FirScriptSymbol <script-constructorCallSiteScript.kts>] class P2<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T2, [ResolvedTo(STATUS)] Outer(T1)> : R|@R|Anno|(LAZY_EXPRESSION)  P1<@R|Anno|(LAZY_EXPRESSION)  T1>| {
                public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=P2] P1<T1>.constructor<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T2>([ResolvedTo(EXPECT_ACTUAL_MATCHING)] i: R|kotlin/String|): R|P1.P2<T2, T1>| {
                    LAZY_super<R|@R|Anno|(LAZY_EXPRESSION)  P1<@R|Anno|(LAZY_EXPRESSION)  T1>|>
                }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P2] P1<T1>.constructor<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T2>(): R|P1.P2<T2, T1>| { LAZY_BLOCK }

            }

            public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T2> createP2(): R|@R|Anno|(str = String(return type) [evaluated = String(return type)])  P1.P2<@R|Anno|(str = String(nested return type) [evaluated = String(nested return type)])  T2, T1>| {
                ^createP2 this@R|/P1|.R|SubstitutionOverride</P1.P2.P2>|<R|@R|Anno|(str = String(nested return type) [evaluated = String(nested return type)])  T2|>()
            }

        }

