Why don't numbers support .dup?
>> a = 5 => 5 >> b = "hello, world!" => "hello, world!" >> b.dup => "hello, world!" >> a.dup TypeError: can't dup Fixnum from (irb):4:in `dup' from (irb):4 I understand that Ruby will make a copy every time you assign an integer to a new variable, but why does Numeric#dup raise an error? Wouldn't this break abstraction, since all objects should be expected to respond to .dup properly? Rewriting the dup method will fix the problem, as far as I can tell: >> class Numeric >> def dup() >> self >> end >> end Does this have a downside I'm not seeing? Why isn't this built into Ruby? Most objects in