(defn factorize [n] ((fn f [n [h & r :as ps]] (cond (< n 2) '() (zero? (mod n h)) (cons h (lazy-seq (f (quot n h) ps))) :else (recur n r))) n prime-numbers)))