Right now it is actually an O(N^2) algorithm (since it calls `in` for each member in the list).  I just replaced it with a modified version of the algorithm *f5* from [this blog](http://www.peterbe.com/plog/uniqifiers-benchmark).