FILE: recursiveBug.kt public final class Foo : R|kotlin/Any| { public constructor(name: R|() -> kotlin/String|): R|Foo| { super() } public final val result: R|kotlin/String| = this@R|/Foo|.R|kotlin/run|( = run@fun R|Foo|.(): R|kotlin/String| { ^ R|/name|.R|SubstitutionOverride|() } ) 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|( = run@fun (): R|kotlin/String| { ^ R|/name|.R|SubstitutionOverride|() } ) lval name: R|kotlin/Int| = R|/result|.R|kotlin/String.length| }