Immutability and persistent data structures, overview of Clojure list, map, vector and set