context: this is somewhat related to project euler problem 5, which is:What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?I apply prime number decomposition to the range of numbers from 1 to 20, and the product of all that should be the smallest number.(absorb '(2 2 2) '(2 3 4)) -> '(2 2 2 3 4) ;; does not have to be sorted(defn absorb [seq1 seq2]  (loop [s1 (sort seq1)         s2 (sort seq2)         acc '()]    (let [s1-curr (first s1)          s2-curr (first s2)]      (cond (and (empty? s1) (empty? s2)) acc            (empty? s1) (into s2 acc)            (empty? s2) (into s1 acc)            (= s1-curr s2-curr) (recur (rest s1) (rest s2) (cons s1-curr acc))            :else (recur (rest s1) s2 (cons s1-curr acc))))))Is there a way to write this in more idiomatic Clojure, or a more optimized/clea er version?
Intersection of two lists in clojure
clojure