 
 (defn nex [coll]
   (concat [(first coll)]
-          (map-indexed #(+ %2 (if (>= (inc %1) (count coll)) 0 (nth coll (inc %1)))) coll)))
+          (map-indexed #(+ %2 (if (>= (inc' %1) (count coll)) 0 (nth coll (inc' %1)))) coll)))
 
 (nex [1 2 3])
 (nex [1 3 3 1])

(defn red [a b]
  (conj a b))

(defn __
  ([] [])
  ([coll] (lazy-seq (conj coll (vec (concat [(first coll)]
                            (map-indexed #(+ %2 (if (>= (inc %1) (count coll)) 0 (nth coll (inc %1)))) coll)))))))


(= (second (__ [2 3 2])) [2 5 5 2])



(= (take 2 (__ [3 1 2])) [[3 1 2] [3 4 3 2]])

(= (take 100 (__ [2 4 2])) (rest (take 101 (__ [2 2]))))
