interface A {
  abstract fun foo()

}

interface B : A {
  abstract fun bar()

}

interface C : A {
  abstract fun baz()

}

fun test(param: B) {
  when {
    param is C -> { // BLOCK
      param /*as C */.foo()
      param.bar()
      param /*as C */.baz()
    }
  }
}
