It's not just code. It's also all the data that informs the code of what's going on at the time. New code might have additional data items that have no known way to properly initialize them to "just work" even if the common data were copied correctly. (Or fewer, even?) So #1 sounds as though there is a lot more to it than just what you suggest (the 50% limit.)
↧