This makes it so that *every* assignment destroys the current data, and then postblits over it. Do you think it would be better to instead only destroy when the type changes, and then do an actual assign?