Right now the whole array is rewrapped. Need to change to only rewrapping the leaf nodes, then restore the original reference on return. For return values, we also need to match by array reference a.k.a. "==". There will be bugs in the future.