Values & References5 / 14
Up next

No aliasing surprises

;; passing a collection cannot mutate the caller's value
(defn add-item [coll x]
  (conj coll x))

(def mine [1 2])
(add-item mine 99)
;; mine is untouched: there is no shared mutable state
(println mine)
What you're solving

a callee cannot mutate your value