Yeah, I'm pretty sure that as written these algorithms have the same efficiency (assuming constant time lookup in the `@seen` object in the unsorted case, which is not actually the case). Is there a difference when your input is sorted if you assume the hash function returns strings (which is the assumption made in this file it looks like)?