If one really wanted that kind of behavior (and not getting errors when trying to add strings and number) you could make it so:
class String def +(o) warn "You are adding a #{o.class} to a string." unless o.is_a? String "#{self}#{o}" end end
Whether this leads to other issues is left as an exercise for the reader and whomever ends up maintaining the reader's code.