The original mutation system had a special routine to mutate sysvars into other sysvars - if I remember well. All values followed by a store op were considered as sysvars? Probably so. Anyway, there was also an array keeping track of all the sysvars and other (free) memory locations (the usedvars array). The principle was: always mutate a sysvar into another sysvar _already present in the array_. Once in a while, mutate the array by adding a new random memory location. This was to increment the probability of mutating sysvars into other useful memory locations, while leaving open the chance of developing the use of completely new memory location (example, for storing permanent values, etc.). But I think this never happened, anyway :(