``` class ListSerialization<K : Any>(val ser...
# announcements
y
Copy code
class ListSerialization<K : Any>(val serializer: Serializer<K>, val deserializer: Deserializer<K>) : Serializer<List<K>>, Deserializer<List<K>> {
    override fun serialize(writer: SimpleWriter, data: List<K>) = writer.writeList(data) { serializer.serialize(writer, it) }

    override fun deserialize(reader: SimpleReader): List<K> = reader.readList { deserializer.deserialize(reader) }
}

fun <K : Any, X> Pair<Serializer<K>, Deserializer<K>>.ofList(): X where X : Serializer<List<K>>, X : Deserializer<List<K>> {
    return ListSerialization(first, second)
}
What is wrong with this code? it says type inference has failed on the method. Edit: Went to a much simpler solution, but just curious.