param values are HashWithIndifferentAccess?

Params in rails can be multi level; that is, on the rhtml page they may b e something along the lines of "foo[bar][baz][bleh]=10, which gets translated to the params value as a hash*. And, I think because you can use symbols or strings as the Hash keys, is why it's HashWithIndifferentAccess.

If the value was always a scalar string, you wouldn't be able to new() objects with params. (Well, you could if you chose another serialization scheme than turning it into a hash, but a hash seems reasonable.)

* If I'm recalling correctly, the hash for the above would be something along the lines of params = {:foo =>{:bar => {:baz =>{:bleh => 10}}}}