I know what a DSL is, no worries (In organised the Language Workbench Challenge 4 times). I tend to disagree on using a GPL as you suggest, as it defeats the whole purpose of having a DSL — at least the ones that I find most useful. A DSL should be usable by a ‘domain expert’, who is not a software engineer. Using Kotlin and special keywords kills that idea.