(defn
bounded-count
"If coll is counted? returns its count, else will count at most the first n\n elements of coll using its seq"
{:added "1.9"}
[n coll]
(if
(counted? coll)
(count coll)
(loop
[i 0 s (seq coll)]
(if (and (not (nil? s)) (< i n)) (recur (inc i) (next s)) i))))