Ответ
Да, можно. В Kotlin можно указать несколько ограничений для Generic с помощью ключевого слова where. Ограничения перечисляются через запятую, и тип должен удовлетворять всем условиям.
Пример:
fun <T> process(item: T) where T : CharSequence, T : Comparable<T> {
// item и CharSequence, и Comparable
println(item.length)
println(item.compareTo(item))
}
Здесь T должен быть и CharSequence, и Comparable<T>. Если тип не соответствует всем ограничениям, будет ошибка компиляции.