Appends some lists (possibly zero of them) into one big list. The resulting list shares structure with the final given list.
Note: This means the all lists except the last are copied, so the cost in time and space of append is proportional to the length of all the lists except the last, even if the last list is empty