data class Email(val to: String,val subject: String,val body: String,val from: String? Kotlin’s @DslMarker makes building DSLs super easy:@DslMarkerannotation class EmailDsldata class Email(val to: String,val subject: String,val body: String,val from: String? = null,val cc: List<String> = emptyList(),val bcc: List<String> = emptyList())@EmailDslclass EmailBuilder {lateinit var to: Stringlateinit var subject: Stringlateinit var body: Stringvar from: String? () -> Unit): Email {return EmailBuilder().apply(block).build()}Usage is clean and readable:val email = email {to = "user@example.com"subject = "Welcome!" Here’s how I built one with Retrofit:@DslMarkerannotation class HttpDsldata class ApiRequest(val url: String,val method: String,val headers: Map<String, String>,val queryParams: Map<String, String>,val body: String?)