fun mutableRandomAccess(vararg value: R): T where T : MutableList, T : RandomAccess { val arr = ArrayList(value.size) arr.addAll(value) return arr as T } fun main(args: Array) { val ints: MutableList = mutableRandomAccess, Int>(1, 2, 3, 4) ints.forEach { println(it) } }