So, I just labored through ["Pascal's Triangle" on 4clojure](http://4clojure.com/problem/97].
For background, the first 5 rows of Pascal's Triangle looks something like this:
 [1 1] [1 2 1] [1 3 3 1] [1 4 6 4 1]
The problem calls for simply returning the nth row, not the whole triangle. I finally got a working solution:
(fn [n] (map #(apply (fn pas [x y] (if (or (zero? x) (= x y)) 1 (+ (pas (dec x) (dec y)) (pas x (dec y))))) %) (for [x (range n)] [x (dec n)])))
Without explaining in detail, I didn't like having to use an if/else branch and recursion.
I was really impressed to find another user build up the whole triangle without either:
(take n (iterate (fn next-row [v] (vec (map + (apply conj  v) (conj v 0)))) ))
It hadn't occurred to me to use iterate with a vector to build up the rows. Very cool!