From: "David A. Black" <dblack / rubypal.com> > > The thing to remember is that ! methods always exist (or should > always exist) in a pair with non-! counterparts. Hmm. That makes sense to me in general, but I wrote a ! method recently that has no non-! counterpart. A non-! counterpart wouldn't make sense in this case, and yet I feel the ! is reminding me something special is going on with this method. The particular case is a UI client library whose widgets are hosted on a remote window server. The client is able to create and initialize widget objects locally, without yet having communicated with the remote server. Only when the instantiate! method is finally called, do we go over the wire and instantiate these widgets in the window server. There is no non-! counterpart, but I feel the ! is very appropriate for this method. Regards, Bill