FILE: B.kt public abstract interface B : R|A| { public abstract override fun accept(visitor: R|KtVisitor|, data: R|D|): R|R| } FILE: main.kt public final fun test(visitor: R|KtVisitor|, element: R|B|): R|kotlin/Unit| { R|/element|.R|/B.accept|(R|/visitor|, Q|kotlin/Unit|) }