'' Addition "may occur in different places, depending on the concrete .
This refers to the behavior of Clojure's permanent collections, which include adding in the most efficient way in terms of performance and underlying implementation.
Vectors are always added to the end of the collection:
user=> (conj [1 2 3] 4)
[1 2 3 4]
, conj , :
user=> (conj '(1 2 3) 4)
(4 1 2 3)
, , LazySeq .
(\a \b \c \d \e) ?
, LazySeq:
(conj (vec (drop-last "abcde"))
(last "abcde"))