> Any reason it couldn't be done in-place? (I.e. thaw, update all, and > freeze again) Am I missing something -- Could partial results be > used, the update list be infinite, or anything like that? I believe that's essentially what normal arrays are doing, but that's not inplace. In the process of thawing, you're copying the array. If you're not copying it, then the results are unsound.