1. A memory medium comprising program instructions implementing a program development environment, wherein the program instructions are executable by a processor to perform: creating a first version of a data type definition in response to user input; instantiating and storing an object of the first version of the data type, wherein the object includes a version identifier (ID) indicating the version of the object; modifying the first version of the data type definition in response to user input, thereby creating a second version of the data type definition; loading the object from storage; and automatically modifying the object to conform to the second version of the data type definition, wherein said automatically modifying is performed without user intervention.