(defn fib [n]
  (let [gen-fib (fn [xs] (conj xs (apply + (take 2 (reverse xs)))))
        fib-list (iterate gen-fib [1 1])]
    (last (take (dec n) fib-list))))

(fib 6)