I agree with the sentiments expressed here, including the use (not mentioned) of use warnings. Basically, I think, the idea is to force as many dumb mistakes to be detected “at compile time” as possible. When you are writing thousands of lines of code, little will typos creep in that you didtn recognize at the time. And the time that you want to detect those isssues is, right now. The computer has the amazing ability to detect the slightest inconsistency, and you want the computer to be doing everything in its power to assist you in that regard. It will never encounter “Paris in the the spring” without instantly flagging the extra “the.” But did you, while reading this, encounter every one of the five tpyos I put in here? (If your browser underlined them for you, it doesn’t count.)
If you find that you must use a construct that flags a warning, you can use the no construct, and liberal and detailed comments, to explain exactly what you are masking-out and exactly why. (You will not remember, even with regard to your own code.) Then turn the feature right back on as soon as possible.