I realize symbol keys in a hash are immutable whereas string keys are mutable, but I still don't understand why that would cause these results ...
[5] pry(main)> a[:b] = "c"
=> "c"
[6] pry(main)> a["b"]
=> nil
[7] pry(main)> a[:b]
=> "c"
Shouldn't "a[:b]" get turned into a["b"] under the hood?
 
     
    