fun <T : Any?> useTX(x: T, fn: Function0<T>): T {
  return fn.invoke()
}

fun testWithNullCheck() {
  useTX<String>(x = "", fn = local fun <anonymous>(): String {
    return notNullString() /*!! String */
  }
) /*~> Unit */
}
