Spawned by the discussion in #5435
Currently, all module-scoped mutable variables are considered non-uniform. This is a conservative choice.
Often the variable is initialized with uniform value and never changed thereafter, and therefore the value it contains is always uniform.
Consider enhancing uniformity analysis by a desugaring rule: treat mutable module-scoped variables as having been declared by the entry point, and then passed down through the call tree. (This works directly for private variables). Then uniformity analysis of parameter passing should take care of the rest.
I don't currently have an opinion about what milestone this should be in.