// WITH_RUNTIME class ArrayWrapper() { val contents = ArrayList() fun add(item: T) { contents.add(item) } operator fun unaryMinus(): ArrayWrapper { val result = ArrayWrapper() result.contents.addAll(contents) result.contents.reverse() return result } operator fun get(index: Int): T { return contents.get(index)!! } } fun box(): String { val v1 = ArrayWrapper() v1.add("foo") v1.add("bar") val v2 = -v1 return if (v2[0] == "bar" && v2[1] == "foo") "OK" else "fail" }