For the first time ever, ragan crystallized why he didn’t like the original #andand implementation, or my own "implementation"http://blog.teksol.info/2007/11/23/a-little-smalltalk-in-ruby-if_nil-and-if_not_nil, #if_not and #if_not_nil and other implementations.
His point is that if you are writing a library, and you want to use the andand gem, you, the author of the library, will pollute the Object namespace of the application that’s using our library.
In effect, the library’s author dependencies will become dependencies of the application that’s using it, even though they don’t want or need the extensions.
The same problem happens with Mongrel and Thin : all the libraries these servers use are loaded in the application that’s running on top of them.
Thank you Reginald for clearing this up for me. I now fully understand the need for the Ruby.rewrite project.