I would like to suggest a phased transition across several releases in Ruby 2.x (the specific version numbers and flag names are just examples): In Ruby 2.3, it is possible to turn on warnings when mutating a String literal (--warn-frozen-strings). the warnings come with the place in the source where the String was originally created In Ruby 2.4 (or 2.5?), the warning is on by default Once it is o