
open class SuperFoo {
    public fun bar(): String {
        if (this is Foo) {
            superFoo() // Smart cast
            return baz() // Cannot be cast
        }
        return baz()
    }

    public fun baz() = "OK"
}

class Foo : SuperFoo() {
    public fun superFoo() {}
}

fun box(): String = Foo().bar()
