A question regarding the use of `!` came up a few days ago (https://github.com/tbreloff/Plots.jl/issues/30#issuecomment-142995667), and I wanted to quickly poll the users to get opinions.
When a module maintains some sort of global state, and a method mutates that global state, is it appropriate to add `!` to the end of the method name? The example referenced asks why I named the method `immerse!()` instead of `immerse()`, even though it doesn't have any arguments to mutate (it changes the default plotting backend, which is part of the module state). Which method name should it be? (and is it better or worse to provide both options which would do the same thing?)