;; A vector is immutable, so there is nothing to copy: sharing the value
;; is already safe, and "changing" it hands back a new vector
(def numbers1 [1 2 3 4 5])
(def numbers2 numbers1)
(def numbers3 (assoc numbers1 0 10))
;; numbers3 is [10 2 3 4 5]
(println numbers1) ; [1 2 3 4 5]
(println numbers2) ; [1 2 3 4 5] — unaffected
(println numbers3) ; [10 2 3 4 5]
(println (identical? numbers1 numbers2)) ; true — the very same object