data class MyContainer { var s: String field = s get set constructor(s: String) /* primary */ { super/*Any*/() /* () */ } operator fun component1(): String { return .#s } fun copy(s: String = .#s): MyContainer { return MyContainer(s = s) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is MyContainer -> return false } val tmp_0: MyContainer = other as MyContainer when { EQEQ(arg0 = .#s, arg1 = tmp_0.#s).not() -> return false } return true } override fun hashCode(): Int { return .#s.hashCode() } override fun toString(): String { return "MyContainer(" + "s=" + .#s + ")" } } fun box(): String { return with(receiver = 42, block = local fun Int.(): String { val myContainer: MyContainer = MyContainer(s = "fail") myContainer.set($context_receiver_0 = $this$with, index = 0, value = "OK") return { // BLOCK val tmp_1: String? = myContainer.get($context_receiver_0 = $this$with, index = 0) when { EQEQ(arg0 = tmp_1, arg1 = null) -> "fail" else -> tmp_1 } } } ) } operator fun MyContainer.get($context_receiver_0: Int, index: Int): String? { return when { when { EQEQ(arg0 = index, arg1 = 0) -> EQEQ(arg0 = $context_receiver_0, arg1 = 42) else -> false } -> .() else -> null } } operator fun MyContainer.set($context_receiver_0: Int, index: Int, value: String) { when { when { EQEQ(arg0 = index, arg1 = 0).not() -> true else -> EQEQ(arg0 = $context_receiver_0, arg1 = 42).not() } -> return Unit } .( = value) }