Just be aware that building a new DSL might be a little intense if you’re still getting comfortable with Kotlin. It requires both a solid conceptual model of the thing you’re building a DSL for, and also familiarity with a few of Kotlin’s more obscure features (such as the @DslMarker annotation).