I really don't understand why you will ever want to find out if there are things that you don't care about. If you are trying to do something like “do something specific with these keys and do something in common with others”, you can do something like:
(defn func [& {:keys [ab] :as args}] (println abc) (println (dissoc args :a :b))) (func :a 3 :b :c 5) => 3 4 {:c 5} nil
If you are paranoid about having to specify keywords twice, maybe you can do something too, but I can’t imagine that would be useful.
The reason I want this is because if rest is not null, this is probably the error I would like to report.
If you are concerned that users are not exactly what you need, then perhaps the map is not a suitable data structure.
Cubic source share