Changes in new versions / Clojure 1.11

;; *** before: ***
;; a function taking keyword args only accepted flat key/value
;; pairs - a caller holding a map first had to spread it out
(defn connect [& {:keys [host port]}]
  [host port])

(let [opts {:host "localhost" :port 5432}]
  (apply connect (mapcat identity opts)))
;=> ["localhost" 5432]

;; *** in version 1.11: ***
;; the same function now also accepts one map argument directly
(connect {:host "localhost" :port 5432})
;=> ["localhost" 5432]

;; key/value pairs and a trailing map can even be mixed
(connect :host "localhost" :port 5432)
;=> ["localhost" 5432]