I put a challenge up at: http://www.rubygarden.org/ruby?CompareByValue Nathaniel Talbott and I were pairing a while back, and he said, "When I'm test-firsting a class, I always start with .==" This made me think: Three Strikes and you Automate... so how do you automate this? We set off to write a simple mixin that would allow us to forget about writing simple versions of .== for the rest of our lives. Unfortunately, this turns out to be a little bit tougher than we thought. To make a long story short, after several versions, none pass all the tests on http://www.rubygarden.org/ruby?CompareByValueTests (which isn't even a thorough test suite, necessarily). I'm curious to see if this list can come up with something that's elegant and that works. If we came up with something good enough, might this ever find its way into the standard distribution? Thanks, all! - Ryan King