 
 (функція перший "див. first" [колекція] (first колекція))
 (функція другий "див. second" [колекція] (second колекція))
+(функція останній "див. last" [колекція] (last колекція))
 
 (функція містить? [колекція елемент] (та? (some #(= елемент %) колекція) істина))
 (функція вибери-ключі "див. select-keys" [колекція ключі] (select-keys колекція ключі))

(функція потребуй "див. require" [& args] (застосуй require args))
(defmacro спробуй ([вираз винятоковий-вираз] `(try ~вираз ~винятоковий-вираз )) ([вираз винятоковий-вираз остаточний-вираз] `(try ~вираз ~винятоковий-вираз ~остаточний-вираз )) )

(функція встав "див. interpose" ([sep] (interpose sep)) ([sep col] (interpose sep col)))
(функція інтернуй "див intern"  ([ns name] (intern ns name)) ([ns name val] (intern ns name val)))


(defmacro присвой "див. def" [назва значення] `(let [v# (def ~назва)](def ~назва ~значення)))
(defmacro постійна "див. defonce" [назва значення] `(let [v# (def ~назва)](when-not (.hasRoot v#) (def ~назва ~значення))))
(defmacro тип "див deftype" [назва поля  & опції] `(deftype ~назва ~поля  ~@опції))
(defmacro вибір-з "див condp" [pred expr & clauses] `(condp ~pred ~expr  ~@clauses))
(defmacro метод [назва тип & решта] `(defmethod ~назва ~тип ~@решта))
(defmacro функція "див. defn" [назви & описи] (list* `defn (with-meta назви (assoc (meta назви) :private false)) описи))
(defmacro запис "див. defrecord" [name fields & opt] `(defrecord ~name ~fields ~@opt))
