fun useUnit0(fn: Function0<Unit>) {
}

fun useUnit1(fn: Function1<Int, Unit>) {
}

fun fn0(): Int {
  return 1
}

fun fn1(x: Int): Int {
  return 1
}

fun fnv(vararg xs: Int): Int {
  return 1
}

fun test0() {
  return useUnit0(fn = local fun fn0() {
    fn0() /*~> Unit */
  }
)
}

fun test1() {
  return useUnit1(fn = local fun fn1(p0: Int) {
    fn1(x = p0) /*~> Unit */
  }
)
}

fun testV0() {
  return useUnit0(fn = local fun fnv() {
    fnv() /*~> Unit */
  }
)
}

fun testV1() {
  return useUnit1(fn = local fun fnv(p0: Int) {
    fnv(xs = [p0]) /*~> Unit */
  }
)
}

