fun test1(): J1<Int?> {
  return J1<Int?>()
}

fun test2(): J1<Int?> {
  return J1<Int?, Int?>(x1 = 1)
}

fun test3(j1: J1<Any>): J2<Int?, Any> {
  return j1.J2<Int?>()
}

fun test4(j1: J1<Any>): J2<Int?, Any> {
  return j1.J2<Int?, Int?>(x2 = 1)
}
