Kotlin: problemas para entender los generics

Tengo un model que implementa dos interfaces

interface A interface B class Model() : A, B 

Cuando paso un parámetro como una Lista de mi class Modelo, el comstackdor entiende que Modelo es A y B. Pero cuando paso dos parameters, donde uno de ellos se da con el tipo T (donde T: A, T: B), el comstackdor no puede entenderlo.

 protected fun <T> test(givenList: List<T>) where T : A, T : B { val testList = ArrayList<Model>() oneParamFunc(testList) // will compile oneParamFunc(givenList) // will compile twoParamFunc(givenList, testList) // won't compile (infernetworking type Any is not a subtype of A) twoParamFunc<T>(givenList, testList) // won't compile (Requinetworking List<T>, Found ArrayList<Model>) } protected fun <T> oneParamFunc(list: List<T>) where T : A, T : B { } protected fun <T> twoParamFunc(oldList: List<T>, newList: List<T>) where T : A, T : B { } 

¿Qué necesito cambiar para que funcione?