FILE: unstableSmartcastAndAmbiguity.kt public abstract class XdSwimlaneSettings : R|kotlin/Any| { public constructor(): R|XdSwimlaneSettings| { super() } public abstract val settingsLogic: R|kotlin/String| public get(): R|kotlin/String| } public final class XdIssueBasedSwimlaneSettings : R|XdSwimlaneSettings| { public constructor(): R|XdIssueBasedSwimlaneSettings| { super() } public open override val settingsLogic: R|kotlin/String| public get(): R|kotlin/String| { ^ String(hello) } } public final class XdAgile : R|kotlin/Any| { public constructor(swimlaneSettings: R|XdSwimlaneSettings?|): R|XdAgile| { super() } public final var swimlaneSettings: R|XdSwimlaneSettings?| = R|/swimlaneSettings| public get(): R|XdSwimlaneSettings?| public set(value: R|XdSwimlaneSettings?|): R|kotlin/Unit| } public final fun test(x: R|XdAgile|): R|kotlin/Unit| { lval y: R|XdIssueBasedSwimlaneSettings| = (R|/x|.R|/XdAgile.swimlaneSettings| as R|XdIssueBasedSwimlaneSettings|) R|/x|.R|/XdAgile.swimlaneSettings|!!.R|/XdSwimlaneSettings.settingsLogic| }