(dissoc-in m [k & ks])mkks(submap? m1 m2)m1m2(supermap? m1 m2)m1m2(dissoc-ks m key-coll)mkey-coll(difference m1)(difference m1 m2)(difference m1 m2 & ms)m1m2ms(map-vals m f)mf(map-keys m f)mf(filter-keys m pred)mpred(remove-keys m pred)mpred(filter-vals m pred)mpred(remove-vals m pred)mpred(vk-biject m)Maps values in m to groups of keys associated with them (in m). Sounder than, and different from, clojure.set/map-invert.
m(kv-biject m)Groups keys in m by values and maps them to values.
m(every-key? m pred)mpred(every-val? m pred)mpred(some-key m pred)mpred(some-val m pred)mpred(lit-map & syms)syms(lit-assoc m & syms)msyms(checked-get m k)mk(checked-keys bndgs & body)bndgsbody(apply-kv f & argsm)Terrible, necessary function. Use with APIs employing horrific keyword-arguments pattern. Please do not write such APIs.
fargsm(fill m k v)(fill m k v & kvs)mkvkvs(fill-> m & clauses)mclauses(keysr m)m(valsr m)m