Yukihiro Matsumoto wrote: > I like the idea. > > But I'd prefer adding a new class methodfor the purpose, > say. String#buffer(n), to adding new role to an argument by type, > or there may be a better name. I thought String.new(1000) would be a nice equivalent to Array.new(1000), since they both do essentially the same thing. But I'm not opposed to a separate method. I would vote for something active and descriptive like "allocate", but that's obviously not available. "buffer" isn't bad. I like "new" best. And of course Array.new changes behavior depending on argument types too. Array.new(size=0, obj=nil) Array.new(array) Array.new(size) {|index| block } What's good for the goose...