Hi, For the next release, my objective is to re-implement String, Array and Hash using CoreFoundation. The idea is to have only one implementation for every primitive class, and therefore be able to pass primitive objects from Ruby to Objective-C without having to pay any cost. Basically, String would disappear as a class, and would be an alias to NSString. The whole String interface would be re-implemented on top of NSString, using the CFString API. The same goes for Array and Hash. There are several problems that need to be investigated, such as the new 1.9 i18n strings that can have different encodings, or the fact that Cocoa collections do not accept nil as an element. The new implementation should be as realistic as possible. However I doubt we can keep the C API compatible. At least RSTRING_PTR / RARRAY_PTR will not accept inline array modifications. I will start with Hash first because it's the most simple one. This change will also be interesting performance-wise. We might see some surprises when benchmarking against the original implementation. I suspect the new Array will be faster. Laurent