FIX: list_swap