fun <F : Any?> test(j: J<F>) {
  j.getFoo<F>() /*~> Unit */
  j.setFoo<F>(x = 1)
  { // BLOCK
    val tmp_0: J<F> = j
    { // BLOCK
      val tmp_1: Int = tmp_0.getFoo<F>()
      tmp_0.setFoo<F>(x = tmp_1.inc())
      tmp_1
    }
  } /*~> Unit */
  { // BLOCK
    val tmp_2: J<F> = j
    tmp_2.setFoo<F>(x = tmp_2.getFoo<F>().plus(other = 1))
  }
}
