Definitely a great thing to have when you need it, that's fore sure. I agree that it is a shame to have to hash a second time on already seen objects, but in general when you call this function, memory is way more important then CPU time, so I would worry more about the hash table.