don't exit when work to do, even when at the end of the list.
fix potential derpy-ness with sorting

don't bother rounding, just return the sign, don't be inconsistant when
simpleID's are the same, bail early when duplicates are present.
force empty the list! - fixes a memory leak