Hello, I am new to Clojure and to lazy sequences.

```
(defn get-biggest-prime-factor [num]
(let [max-check (inc (Math/sqrt num))
lazy-primes (filter-lazy-seq is_prime naturals)]
(loop [prime (first lazy-primes)
max-factor 1]
(cond (>= prime max-check) max-factor
(= 0 (rem num prime)) (recur (first (rest lazy-primes)) (first lazy-primes))
:else (recur (first (rest lazy-primes)) max-factor)))) )
```

**naturals**is an infinite lazy sequence of 1,2,3 ... ,**filter-lazy-seq**is a function, which returns a lazy sequence derived from second argument. Every element of sequence is verified by first argument, which is a predicate**is-prime**is a function that check if a number is prime

Any help is appreciated.