data class MyContainer {
  constructor(s: String) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  var s: String
    field = s
    get
    set

  operator fun component1(): String {
    return <this>.#s
  }

  fun copy(s: String = <this>.#s): MyContainer {
    return MyContainer(s = s)
  }

  override fun equals(other: Any?): Boolean {
    when {
      EQEQEQ(arg0 = <this>, arg1 = other) -> return true
    }
    when {
      other !is MyContainer -> return false
    }
    val tmp0_other_with_cast: MyContainer = other as MyContainer
    when {
      EQEQ(arg0 = <this>.#s, arg1 = tmp0_other_with_cast.#s).not() -> return false
    }
    return true
  }

  override fun hashCode(): Int {
    return <this>.#s.hashCode()
  }

  override fun toString(): String {
    return "MyContainer(" + "s=" + <this>.#s + ")"
  }

}

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
    } -> <this>.<get-s>()
    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
  }
  <this>.<set-s>(<set-?> = value)
}

fun box(): String {
  return with<Int, String>(receiver = 42, block = local fun Int.<anonymous>(): String {
    val myContainer: MyContainer = MyContainer(s = "fail")
    myContainer.set(_context_receiver_0 = $this$with, index = 0, value = "OK")
    return { // BLOCK
      val <elvis>: String? = myContainer.get(_context_receiver_0 = $this$with, index = 0)
      when {
        EQEQ(arg0 = <elvis>, arg1 = null) -> "fail"
        else -> <elvis>
      }
    }
  }
)
}
