 ;; so we must pack only neibours
 
 (defn __ [coll]
-  coll)
+  (partition-by identity coll))
 
 (= (__ [1 1 2 1 1 1 3 3]) '((1 1) (2) (1 1 1) (3 3)))
 

(defn pack [result x]
  (if (empty? result)
    (conj result [x])
    (conj result [x])))

;; (reduce #(if (list-contains? 1 %
;; [[1] [1] [2] [1] [1] [1] [3] [3]]

(set [[1] [1] [2] [1] [1] [1] [3] [3]])

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


(list-contains? 10 '(100 101 102))

(dec (count [0 1]))
(assoc [0 1] 0 1)

;; https://github.com/ptrv/4clojure-solutions/blob/master/solutions.clj
(fn [coll] (partition-by identity coll))
;; failed to do it by myself

;; 4clojure solution
#(partition-by identity %)

;; could be shorter
;; _pcl's solution:
partition-by identity
