"cloning" seq feels uneasy: with normal use of Clojure, you expect seqs to be unchanged, so it should be fine to just do something like:
(let [s1 s s2 s] .....)
If your seqs are mutable or have some kind of side effects when passed, then you are likely to run into problems for various reasons: mutable seqs are generally not suitable for a functional language such as Clojure. You will encounter many odd problems: do you want side effects to happen twice when you βcloneβ seq, for example? Do you need a deep clone of all the content?
source share