fun <T : Any?> (T & Any).foo() {
}

fun <T : Any?> foo(l: Function1<(T & Any), Unit>) {
}

fun box() {
  "".foo<String?>()
  foo<String?>(l = local fun <anonymous>(it: String) {
    it /*~> Unit */
  }
)
}
