O(listLength(lstFirstDestroyed))
function listAppendDestroy<A> input list<A> lstFirstDestroyed "this list will be destroyed, the end of this list will be set to the second list"; input list<A> lstSecondKept "this list is not touched"; output list<A> lstFirstDestroyedReturned; end listAppendDestroy;