Kotlin Named Tuple equivalent?

Thanks for your help. Having problem with the lambda function at the end: Error:(35, 22) Kotlin: Type mismatch: inferred type is Suit but String was expected

enum class CardType(val faceVal: Int, name: String = faceVal.toString()) {
ACE(1),
TWO(2),
THREE(3),
FOUR(4),
FIVE(5),
SIX(6),
SEVEN(7),
EIGHT(8),
NINE(9),
TEN(10),
JACK(10),
QUEEN(10),
KING(10);
}

enum class Suit {
Clubs,
Diamonds,
Hearts,
Spades
}

data class Card(
private val suit : String,
private val type: CardType)

fun main(args: Array<String>) {

fun generateDeck(): Map<Suit, List<Card>> = Suit.values()
.map { Suit ->
Suit to CardType.values().map { cardType ->
Card(Suit, cardType)
}
}
.toMap()

}

/r/Kotlin Thread Parent