Spec question - say I have a fn signature like this: (defn foo [a b & {:keys [c d]}]). So a and b should be integers and c and d should be strings. But of course, c and d are optional, and the callsite can have two forms: either (foo a b :c "bar" :d "baz") or (foo a b {:c "bar" :d "baz"}). How can I write the :args part of (fdef foo :args ...) ?
Oh, it must be https://clojure.github.io/spec.alpha/clojure.spec.alpha-api.html#clojure.spec.alpha/keys*
yes
there's an example in https://clojure.org/guides/spec with keys* if that's helpful
keys* handles the trailing map stuff for you
cool, thanks