Hi-- I recently cam across an interesting conflict between open-uri.rb and Facets rendition of kernel/metaid.rb. Facets defines a general extension Kernel#meta, and open-uri defines OpenURI::Meta#meta. open- uri uses OpenURI::Meta to extend StringIO via singleton. This is all fine, but then open-uri checks to see if a StringIO object has been extended by doing: io.respond_to? :meta And that's where the problem lies, b/c if you've loaded 'facets/kernel/ metaid' you're going to get a false positive here. Now the best remedy is open-uri to be more precise: io.is_a? OpenURI::Meta That fixes the the problem. But it raises an interesting question. I've used #respond_to? myself from time to time thinking it was oh, so duck-type kosher; never realizing that it might clash with general extensions. So where lies the fault in this conflict? Are extensions the bad guy, or is respond_to? really not a good oop concept? Or..? T.