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

        public final val result: R|kotlin/String| = R|kotlin/run|<R|kotlin/String|>(<L> = run@fun <anonymous>(): R|kotlin/String| {
            R|<local>/name|.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/String|>|()
        }
        )
            public get(): R|kotlin/String|

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

    }
    public final fun bar(name: R|kotlin/Function0<kotlin/String>|): R|kotlin/Unit| {
        lval result: R|kotlin/String| = R|kotlin/run|<R|kotlin/String|>(<L> = run@fun <anonymous>(): R|kotlin/String| {
            R|<local>/name|.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/String|>|()
        }
        )
        lval name: R|kotlin/Int| = R|<local>/result|.R|kotlin/String.length|
    }
