I think it would be easiest to extract the meat of `inreplace` into a separate method that does not spit out warnings, then reimplement `in replace` on top of that, and use it here as well.

Then we can get rid of the `nostdout` changes, which is doubly nice because I have been trying to eliminate its use from the codebase completely.