(defn my-count [coll] (loop [result 0 remain coll] (if (seq remain) (recur (inc result) (rest remain)) result))) (my-count [1 2 3 4 5]) ;;=> 5