>> The other scheme originally implemented was terribly inefficient > No it wasn't. It's one additional pointer dereference. I'm not talking about that. I'm talking about the cost of allocating/freeing those boxes to which you point.