This causes abort() to be called when head is an empty list.  Remove.