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

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

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

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