Now, Ruby has a limited amount of operator overloading, but that is in most cases limited by what is predefined. There is actually a category of operators that are not available be the regular syntax, but that can still be created. I'm talking about almost all the regular single operators followed by either a plus sign or a minus sign.
Right now, I don't have a perfect example of where this is useful, but I guess someone will come up with it. You can use it in all cases where you want to be able to use stuff like binary ++, binary --, /-, *+, *-, %-, %+, %^, and so forth.
This trick makes use of the parsing of unary operators combined with binary operators. So, for example, this code:
module FixProxy; endwill actually output "Foo BAR Baz".
alias __old_plus +
__old_plus(" BAR " << val)
puts("Foo" ++ "Baz")
I'm pretty certain someone kind find a good use for it.