Дано:
(def my-vec [{:id 0 :a "foo" :b "bar"} {:id 1 :a "baz" :b "spam"}
{:id 2 :a "qux" :b "fred"}])
Как я могу идиоматически обновить * элемент в my-vec с помощью :id=1, чтобы иметь значения :a="baz2" и :b="spam2"?
*: Я понимаю, что на самом деле я бы не обновлял my-vec, но действительно возвращал новый вектор, который идентичен my-vec, за исключением значений замены.