For those interested in an alternative, I just put this up on the RCR: Perhaps a more interesting solution would be to get rid of all destructive methods and work on optimizing ther existing non-destructive counterparts. Matz seems to prefer this solution. http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/17764 Unfortunately, the non-destructive versions are still quite noticeably slower. If interest towards this approach materializes, I would be happy to supercede this RCR. Dan