OK, this is clear.

I was able to get the necessary effect using coerce().  What failed was 
...

class Float
  def *(o)
    if o.class == FooBoo then
       o.send(:*,o)
    else
       super
     end
  end
end

-- 
Posted via http://www.ruby-forum.com/.