I guess the relative silence on this issue means there's not much more to discuss. Here's a summary up to now: - Everyone seems to agree it's a good idea to add, so we should add it. And I would like to see it backported to 1.8.6/7. - Everyone likes the flat fixnum form except Dave Thomas, who would like it to be a keyword argument. But that would not support backporting and no core methods currently accept keyword arguments, plus it would create a throw-away hash in all current implementations. - Several names have been suggested: overload 'new', buffer, preallocate, capacity, sized, reserve. I prefer 'buffer' and 'reserve', with a strong lean toward 'buffer' because it mimics a well-known idiom in the Java world: "String.buffer(1000)" == "new StringBuffer(1000)". - Other forms have been suggested that accept a fill fixnum or fill string; however I believe we should skip these cases for now since we're not actually creating a string of a certain size (and content), we're creating an empty string with a backing store of a certain size. The expectation is that the contents of that backing store are unimportant (perhaps \000s), and so fill params are meaningless. So for me, the solution is String.buffer(1000). I rest my case, your honor.