Basically I like the idea how Kotlin does provide readonly / immutable classes
but I would like to know how elegant it’s possible to solve following problem:
data class Node(val title: String, val subNodes: List<Node> = emptyList()) now writing val root = Node("root node", listOf( Node("child one"), Node("child two", listOf( Node("child two one"), Node("child two two") )) )) a) will "root.copy()" be a deep copy? b) how can I get a copy of the hierarchy with node "child two two" changed (adding a child node "child three") Recursion? Can the data class copy function be nicely interfaced?