class MyList(val v: T): List { override fun size(): Int = 0 override fun isEmpty(): Boolean = true override fun contains(o: Any?): Boolean = false override fun iterator(): Iterator = throw Error() override fun containsAll(c: Collection): Boolean = false override fun get(index: Int): T = v override fun indexOf(o: Any?): Int = -1 override fun lastIndexOf(o: Any?): Int = -1 override fun listIterator(): ListIterator = throw Error() override fun listIterator(index: Int): ListIterator = throw Error() override fun subList(fromIndex: Int, toIndex: Int): List = throw Error() override fun hashCode(): Int = 0 override fun equals(other: Any?): Boolean = false public fun add(e: T): Boolean = true public fun remove(o: Any?): Boolean = true public fun addAll(c: Collection): Boolean = true public fun addAll(index: Int, c: Collection): Boolean = true public fun removeAll(c: Collection): Boolean = true public fun retainAll(c: Collection): Boolean = true public fun clear() {} public fun set(index: Int, element: T): T = element public fun add(index: Int, element: T) {} public fun remove(index: Int): T = v } fun box(): String { val list = MyList("") as MutableList list.add("") list.remove("") list.addAll(list) list.removeAll(list) list.retainAll(list) list.clear() list.set(0, "") list.add(0, "") list.remove(0) return "OK" }