   (assoc map key
          (apply f (get map key) args)))
 
+
+;; Conditional update operations
+;;--------------------------------------------------------------------
 
 (defn ->when-update
   "Function of a value, a predicate, an updater and optional

  (->> (for [[k v] m]
       [k (apply f v args)])
     (into {})))


(defn fix

(ns detritus.update
  "A collection of helper functions useful for updating and
  conditionally updating datastructures.")


;; Mapping update operations
;;--------------------------------------------------------------------

(defn map-vals
  "λ {A → B} → (λ B → more* → C) → more* → {A → C}
