On Jun 3, 2008, at 10:42 AM, Akinori MUSHA wrote: > It was my assumption that was wrong. I thought Array#collect returns > an object of the receiver's class so I changed it without asking, but > I realized it didn't. So I reverted the change and decided to wait > for the discussion to reach conclusions. That's all. Let's keep the > discussion. If Array#map returns an array and Set#map returns a set, then shouldn't Hash#map return a hash? Perhaps #map and #collect should stay as they are and there should be a new method defined for Array, Set, and Hash that returns an instance of the collection instead of an instance of Array. Changing the definition of Set#map and Hash#map would most likely break existing code. Gary Wright