A `super` call to an open method (e.g. `super.foo()`) inside an overriding method compiles to which JVM invoke instruction, and why is it different from a normal polymorphic call to `foo()`?
open class A { open fun foo() = "A" }
class B : A {
override fun foo() = super.foo() + "B"
}