`lset-union``=``list_1``...`procedureReturns the union of the lists, using = for the element-equality procedure.

The union of lists A and B is constructed as follows:

- If A is the empty list, the answer is B (or a copy of B).
- Otherwise, the result is initialised to be list A (or a copy of A).
- Proceed through the elements of list B in a left-to-right order. If B is such an element of B, compare every element R of the current result list to B:
`(= R B)`. If all comparisons fail, B is consed onto the front of the result.

However, there is no guarantee that = will be applied to every pair of arguments from A and B. In particular, if A is

`eq`? to B, the operation may immediately terminate.In the n-ary case, the two-argument list-union operation is simply folded across the argument lists.

(lset-union eq? '(a b c d e) '(a e i o u)) => (u o i a b c d e) ;; Repeated elements in LIST1 are preserved. (lset-union eq? '(a a c) '(x a x)) => (x a a c) ;; Trivial cases (lset-union eq?) => () (lset-union eq? '(a b c)) => (a b c)