FILE: recursiveBug.kt
    public final class Foo : R|kotlin/Any| {
        public constructor(name: R|() -> kotlin/String|): R|Foo| {
            super<R|kotlin/Any|>()
        }

        public final val result: R|kotlin/String| = this@R|/Foo|.R|kotlin/run|<R|Foo|, R|kotlin/String|>(<L> = run@fun R|Foo|.<anonymous>(): R|kotlin/String| <inline=Inline, kind=EXACTLY_ONCE>  {
            ^ R|<local>/name|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/String|>|()
        }
        )
            public get(): R|kotlin/String|

        public final val name: R|kotlin/Int| = this@R|/Foo|.R|/Foo.result|.R|kotlin/String.length|
            public get(): R|kotlin/Int|

    }
    public final fun bar(name: R|() -> kotlin/String|): R|kotlin/Unit| {
        lval result: R|kotlin/String| = R|kotlin/run|<R|kotlin/String|>(<L> = run@fun <anonymous>(): R|kotlin/String| <inline=Inline, kind=EXACTLY_ONCE>  {
            ^ R|<local>/name|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/String|>|()
        }
        )
        lval name: R|kotlin/Int| = R|<local>/result|.R|kotlin/String.length|
    }
