list_copy doesn't need to allocate an iterator