@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/List<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/Collection<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/Int>>?
  context -> FirNamedFunctionSymbol <local>/foo
  anchor -> [FirNamedFunctionSymbol util/bar]

@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/Collection<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/Int>
  context -> FirNamedFunctionSymbol <local>/foo
  anchor -> [FirNamedFunctionSymbol util/bar]

@R|util/Anno|(LAZY_EXPRESSION)  kotlin/Int
  context -> FirNamedFunctionSymbol <local>/foo
  anchor -> [FirNamedFunctionSymbol util/bar]

FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionImplicitBodyScript.kts
    SCRIPT: [ResolvedTo(TYPES)] <script-propagationToLocalMemberFunctionImplicitBodyScript.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|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingScriptKey=FirScriptSymbol util.<script-propagationToLocalMemberFunctionImplicitBodyScript.kts>, ScriptTopLevelDeclaration=true] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

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

        }

        public? final? const [ResolvedTo(RAW_FIR)] [ScriptTopLevelDeclaration=true] val prop: <implicit> = LAZY_EXPRESSION
            public? [ResolvedTo(RAW_FIR)] get(): <implicit>

        public final [ResolvedTo(STATUS)] [ScriptTopLevelDeclaration=true] fun bar(): R|@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/List<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/Collection<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/Int>>?| { LAZY_BLOCK }

        public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ScriptTopLevelDeclaration=true] fun lambda([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] action: R|() -> kotlin/Unit|): R|kotlin/Unit| {
            ^lambda R|<local>/action|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
        }

        public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [PostponedSymbolsForAnnotationResolutionKey=[FirNamedFunctionSymbol util/bar], ScriptTopLevelDeclaration=true] fun foo(): R|kotlin/Unit| {
            ^foo R|util/lambda|(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=() -> kotlin/Unit] lambda@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
                local final [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
                    public [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|<local>/Local| {
                        super<R|kotlin/Any|>()
                    }

                    public final [ResolvedTo(RAW_FIR)] fun doo(): <ERROR TYPE REF: Recursive implicit type> {
                        ^doo R|util/foo|()
                    }

                    public final [ResolvedTo(RAW_FIR)] fun foo(): R|@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/List<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/collections/Collection<@R|util/Anno|(LAZY_EXPRESSION)  kotlin/Int>>?| {
                        ^foo R|util/bar|()
                    }

                    public final [ResolvedTo(RAW_FIR)] fun baz(): <ERROR TYPE REF: Recursive implicit type> {
                        ^baz R|util/foo|()
                    }

                }

            }
            )
        }
