This will help in expanding flattening and reducing splitting.
Includes related trackLinkage() code removal and name improvements.
This avoids either A) needing uniformConstant struct, or B) initializing a struct with opaque members, as writing them is not allowed.