Ответ 1
В угловых скобках можно указать только одну верхнюю границу.
Kotlin предлагает различный синтаксис для общих ограничений, когда существует более одного ограничения:
class Foo<T> where T : Bar, T : Baz { ... }
и для функций:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
Это документально подтверждено здесь.