class A class B // kotlin.collections.Collection interface ICollection : Collection abstract class CCollection : Collection by emptyList() abstract class SCollection : Collection by emptyList() abstract class ACollection : Collection by emptyList() // kotlin.collections.Iterable interface IIterable : Iterable abstract class CIterable : Iterable by emptyList() abstract class SIterable : Iterable by emptyList() abstract class AIterable : Iterable by emptyList() // kotlin.collections.List interface IList : List abstract class CList : List by emptyList() abstract class SList : List by emptyList() abstract class AList : List by emptyList() // kotlin.collections.Set interface ISet : Set abstract class CSet : Set by emptySet() abstract class SSet : Set by emptySet() abstract class ASet : Set by emptySet() // kotlin.collections.Iterator interface IIterator : Iterator open class CIterator : Iterator by emptyList().iterator() open class SIterator : Iterator by emptyList().iterator() open class AIterator : Iterator by emptyList().iterator() // kotlin.collections.Map interface IMap : Map abstract class CMap : Map by emptyMap() abstract class SMap : Map by emptyMap() abstract class ABMap : Map by emptyMap() // kotlin.collections.Map.Entry interface IMapEntry : Map.Entry open class CMapEntry : Map.Entry by emptyMap().entries.first() open class SMapEntry : Map.Entry by emptyMap().entries.first() open class ABMapEntry : Map.Entry by emptyMap().entries.first() // IGNORE_K2