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()
  }
)
}

fun test1() {
  return useUnit1(fn = local fun fn1(p0: Int) {
    fn1(x = p0)
  }
)
}

fun testV0() {
  return useUnit0(fn = local fun fnv() {
    fnv()
  }
)
}

fun testV1() {
  return useUnit1(fn = local fun fnv(p0: Int) {
    fnv(xs = [p0])
  }
)
}
