FILE: when.kt public final fun test_1(x: R|kotlin/Int|): R|kotlin/Unit| { lval y: R|kotlin/Int| = when () { ==(R|/x|, Int(1)) -> { Int(10) } ==(R|/x|.R|kotlin/Int.rem|(Int(2)), Int(0)) -> { Int(20) } ==(Int(1).R|kotlin/Int.minus|(Int(1)), Int(0)) -> { ^test_1 Unit } else -> { Int(5) } } } public abstract interface A : R|kotlin/Any| { } public abstract interface B : R|kotlin/Any| { } public final fun test_2(x: R|kotlin/Any?|): R|kotlin/Unit| { when () { (R|/x| is R|A|) && (R|/x| is R|B|) -> { (R|/x| is R|A|) } } }