There is now always a predecessor, even if it just throws