Nevin,
Don't feel alone, because I feel the same way.
I think we also feel similarly about other issues ;-) I just read the paper Ned pointed out about the generalized null object pattern (http://www.smalltalkchronicles.net/edition2-1/null_object_pattern.htm) and all I can say is: boy, this sounds beautiful!
I haven't been around during the clone (err... message-eating nil) wars but after reading your paper it makes me wonder if anyone actually ever _tried_ to use a message eating nil (and not just reason about it) in Smalltalk. Your primary arguments against it don't fully convince me. E.g., the first argument about message sequences that produce nil as final result is really shaky - why exactly should we care where it fails if all we expect is either a valid or a nil result from the sequence?! If we *do* care we are free to test for it at any point and if we don't, why exactly should we?! Can you give some concrete examples for this?! The other argument about expecting nil to to have exception throwing behavior seems similarly shaky in my understanding. I have yet to see code which would actually break if you would introduce message eating nil behavior. Do you have any concrete examples for this?! I'd be interested in understanding the downside a little better.
But all in all, I think it might be _really_ worthwhile to give this a shot. It sounds tremendously useful for simplifying large parts of code.
Cheers, - Andreas