# chickadee » srfi-116 » iappend

##### Identifier search
iappend ilist1 ...procedure

Returns an ilist consisting of the elements of ilist1 followed by the elements of the other ilist parameters.

```(iappend (iq x) (iq y))        ;=>  (x y)
(iappend (iq a) (iq b c d))    ;=>  (a b c d)
(iappend (iq a (b)) (iq (c)))  ;=>  (a (b) (c))```

The resulting ilist is always newly allocated, except that it shares structure with the final ilisti argument. This last argument may be any value at all; an improper ilist results if it is not a proper ilist. All other arguments must be proper ilists.

```(iappend (iq a b) (ipair 'c 'd))  ;=>  (a b c . d)
(iappend '() 'a)                  ;=>  a
(iappend (iq x y))                ;=>  (x y)
(iappend)                         ;=>  ()```