Nice. It seems like we have consensus on what to change.
I'll push these changes (with the tests) to trunk soon.
The fix I have for #hash was exactly what Elliot suggested.
I'll make sure to include the rehash as well (thanks for the code snippit Bert!)
If no one objects strenuously, I'll also include Eliot's slight rewrite of #= has well - it is marginally cleaner and equally fast, so now is a reasonable time to include it.
I'll delay working on bug #3380 for now - to fix this, we'd have to also add in a check on class in #= to make sure we aren't comparing an interval to an array. Unless someone has been bitten by this recently, I'd rather wait.
-cbc