I note that you're modifying the input list, which you then avoid by calling `list()` on line 45. This means that the caller's list is modified, so you can't reuse the description. Maybe you mean to take a copy of the list first thing in the function?