Недалекость

Когда ты не догадался, что можно дублировать и сдвигать ряды в разные стороны в треугольнике Паскаля для простого вычисления:

(defn pascal-rows [col]
  (letfn [(row [col, acc]
    (cond
      (empty? acc) (recur col (conj acc (first col)))
      (empty? col) acc
      (= 1 (count col)) (recur (rest col) (conj acc (first col)))
      :else (recur (rest col) (conj acc (+' (first col) (second col))))
    ))]
  (lazy-seq (cons col (pascal-rows (row col []))))))

И когда кто-то другой догадался:

iterate #(vec (map + (into [0] %) (conj % 0)))