Comment made by: vitoshka
This is a very common pattern for me.
This is one way of dealing with such state-dependent conditionals:
(as-> y (if (:foo y) (assoc y :boo 0) y))
condp-> is much more readable:
(condp-> :foo (assoc :boo 0))
condp-> is not exactly the counterpart of
condp. So maybe shorter
p-> are better names for this.