(append <list> …) returns a list consisting of the elements of the first list followed by the elements of the other lists. The resulting list is always newly allocated, except that it shares structure with the last list argument.
The last list argument may actually be any object; an improper list results if the last argument is not a proper list.
Append with no arguments returns ().
 (append) ()  (append '(a b c)) (a b c)  (append '(a b c) '(d e f)) (a b c d e f)  (append '(a b c) 1) (a b c . 1)