(vary-meta obj f)
(vary-meta obj f a)
(vary-meta obj f a b)
(vary-meta obj f a b c)
(vary-meta obj f a b c d)
(vary-meta obj f a b c d & args)
Returns an object of the same type and value as obj, with
(apply f (meta obj) args) as its metadata.
Source
(defn
vary-meta
"Returns an object of the same type and value as obj, with\n (apply f (meta obj) args) as its metadata."
([obj f] (with-meta obj (f (meta obj))))
([obj f a] (with-meta obj (f (meta obj) a)))
([obj f a b] (with-meta obj (f (meta obj) a b)))
([obj f a b c] (with-meta obj (f (meta obj) a b c)))
([obj f a b c d] (with-meta obj (f (meta obj) a b c d)))
([obj f a b c d & args]
(with-meta obj (apply f (meta obj) a b c d args))))