Avatar ·

How to properly implement the Builder pattern in Kotlin considering language idioms?

Hi everyone! I'm new to Kotlin (migrating from Java) and trying to implement the Builder pattern for a class with many parameters. In Java, I usually created a static inner Builder class with set... and build() methods. But in Kotlin, I see many things work differently, and my Java approach looks cumbersome. Here's what I'm trying to do: ```kotlin class User( val name: String, val age: Int?, val email: String?, val phone: String?, val address: String?, val isActive: Boolean ) ``` I want only name to be required, the rest fields to be optional. In Java, I would write a Builder with methods like `setAge(age: Int): Builder`, but in Kotlin this looks unnatural. I tried using named arguments and default values, but that doesn't solve