I wrote the original code -- @terben was only fixed a divide by zero error.  The `set` approach makes sense, but these lists are generally ridiculously small, so it's not clear which approach is faster.  I'll benchmark and possibly change it or just leave it as is.