FILE: ifElvisReturn.kt
    public abstract interface A : R|kotlin/Any| {
    }
    public abstract interface B : R|A| {
        public abstract fun bar(): R|kotlin/Unit|

    }
    public final fun <K : R|A|> materialize(): R|K?| {
        ^materialize Null(null)!!
    }
    public final fun foo(b: R|B|, cond: R|kotlin/Boolean|): R|kotlin/Unit| {
        lval x: R|B| = when () {
            R|<local>/cond| ->  {
                R|<local>/b|
            }
            else ->  {
                R|/materialize|<R|B|>() ?: ^foo Unit
            }
        }

        R|<local>/x|.R|/B.bar|()
    }
