@wegi You'll often see code like this
(fn [db v] (cond-> db (some-condition? v) (assoc :something :to-add) (another-predicate> db)) (update :key some-fn)))
^^^ the real lesson here is that cond-> can be useful
cond->