Hello,

Thank you, but still I'm not sure...
If we are writing the following code:

  class Foo
    def to_a
      ...converting Foo to Array...
    end
  end
  class Bar
    def to_a
      ...converting Bar to Array...
    end
  end
  class Baz
    def to_a
      ...converting Baz to Array...
    end
  end

we will rewrite the following in your proposal, right?

  class Array
    def convert(obj)
      case obj
      when Foo
        ...converting Foo to Array...
      when Bar
        ...converting Bar to Array...
      when Baz
        ...converting Baz to Array...
      end
    end
  end

I can't understand why this is consistent.

-- 
Yusuke Endoh <mame / tsg.ne.jp>