Uninitialized variables/fields ============================== Simply "zero-initializing" does not work for some types of data: - non-nullable refs - integers with ranges - other kinds of constraints? Simplest solution: Always require initialization: - in scalars - in structs/arrays - in return values (e.g. returning a struct) BUT: we want to: - not require large arrays to be initialized - track uninitialized data, rather than just setting it to a default value