From: "Ondřej Bílka" Date: 2011-06-18T21:04:45+09:00 Subject: [ruby-core:37217] coerce Hello Are there reasons other than historic that coerce returns converted pair instead returning directly result of operation like def coerce2(x,op) x.to_foo.call(op,self) end -- We are Microsoft. What you are experiencing is not a problem; it is an undocumented feature.