abstract class A : SequencedMap { constructor() /* primary */ { super/*Any*/() /* () */ } } abstract class B : SequencedMap { override val size: Int field = size override get constructor(size: Int) /* primary */ { super/*Any*/() /* () */ } override fun firstEntry(): MutableEntry { return CHECK_NOT_NULL(arg0 = null) } override fun pollFirstEntry(): MutableEntry { return CHECK_NOT_NULL(arg0 = null) } override fun putFirst(k: Any?, v: Any?): Any { return "" } override fun reversed(): SequencedMap { return CHECK_NOT_NULL(arg0 = null) } override fun sequencedKeySet(): SequencedSet { return CHECK_NOT_NULL(arg0 = null) } } fun test(a: A, b: B) { a.putFirst(p0 = 1, p1 = null) /*~> Unit */ a.firstEntry() /*~> Unit */ a.putLast(p0 = null, p1 = 2) /*~> Unit */ a.lastEntry() /*~> Unit */ a.pollFirstEntry() /*~> Unit */ a.reversed() /*~> Unit */ a.sequencedKeySet() /*~> Unit */ b.putFirst(k = 1, v = null) /*~> Unit */ b.firstEntry() /*~> Unit */ b.putLast(p0 = null, p1 = 2) /*~> Unit */ b.lastEntry() /*~> Unit */ b.pollFirstEntry() /*~> Unit */ b.reversed() /*~> Unit */ b.sequencedKeySet() /*~> Unit */ }