The Array.to_s uses inspect on its content, instead of calling to_s recursively.
This code
class Some
def to_s; "some" end
end
puts [Some.new].to_s
Would produce [#<Some:0x10078ce80>], instead of [some]
Wondering if there could be any bad consequences if I override Array.to_s to use to_s recursively? And why it's not working this way by default?