How does the copy() function generated for a data class behave?data class User(val name: String, val age: Int) val u1 = User("Ann", 30) val u2 = u1.copy(age = 31)