Fix my misunderstanding of empty()