There was a precedent in Haskell land: https://twitter.com/bos31337/status/116372971509121025
A more modern implementation: https://github.com/munificent/vigil
A more modern implementation: https://github.com/munificent/vigil
Since we have version control now, I don't see any threat from an optional capacity for the compiler to destructively mutate the source as an optional feature. Let the same toolchain that converts input to output suggest improvements to the input.