(defn my-flatten
[x]
(if (coll? (first x))
(append
(concat
(my-flatten (first x))
(my-flatten (rest x)))
(conj (first x) (my-flatten (rest x)))))