While I agree that a lot of „the domain“ is encoded in EDN, I think there’s another layer to this discussion. Lisps are already pretty much a DSL for DSLs (not arguing that that’s Lisps primary purpose), making it all the harder to talk about. Is core.async a DSL? Is honeysql? I‘d call reitit, bidi and compojure DSLs, as I would many of the lower level libraries like integrant or mount. The „D“ varies of course, but in a language like Clojure I feel it’s sort of hard to write non-DSL code at all. There’s not much else to do in terms of boilerplate or glue code, which by definition are not domain-specific and rarely tend to incur their own language-like semantics.