FILE: inPlaceLambdas.kt
    public abstract interface A : R|kotlin/Any| {
        public abstract fun foo(): R|kotlin/Unit|

    }
    public abstract interface B : R|kotlin/Any| {
        public abstract fun bar(): R|kotlin/Unit|

    }
    public final inline fun run(block: R|() -> kotlin/Unit|): R|kotlin/Unit| {
        R|<local>/block|.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
    }
    public final fun test_1(x: R|kotlin/Any?|): R|kotlin/Unit| {
        when () {
            (R|<local>/x| is R|A|) ->  {
                R|/run|(<L> = run@fun <anonymous>(): R|kotlin/Unit| <kind=UNKNOWN>  {
                    R|<local>/x|.R|/A.foo|()
                }
                )
            }
        }

    }
    public final fun test_2(x: R|kotlin/Any?|): R|kotlin/Unit| {
        R|/run|(<L> = run@fun <anonymous>(): R|kotlin/Unit| <kind=UNKNOWN>  {
            ^ (R|<local>/x| as R|B|)
        }
        )
        R|<local>/x|.R|/B.bar|()
    }
    public final fun test_3(x: R|kotlin/Any?|): R|kotlin/Unit| {
        when () {
            (R|<local>/x| is R|A|) ->  {
                R|/run|(<L> = run@fun <anonymous>(): R|kotlin/Unit| <kind=UNKNOWN>  {
                    R|<local>/x|.R|/A.foo|()
                    ^ (R|<local>/x| as R|B|)
                }
                )
                R|<local>/x|.R|/B.bar|()
            }
        }

    }
