@avb1989: (add your full name please to this Slack). You came to a typesafe language which helps prevent runtime errors, you have many libraries which do things like bind a data class to objects. You have frameworks that do this for web or REST. Here in Jackson Kotlin module you can do this easily, probably same level of code as your maps or dynamic “no schema” but you waste the benefits of Kotlin and might as well us EcmaScript6.
https://github.com/FasterXML/jackson-module-kotlin … or in a framework like Kovert makes this automatic for you
https://github.com/kohesive/kovert … There are other frameworks out there, I’m giving you samples of ones I authored, but searching will find other options.