render mutates locals hash?

If you pass a locals hash into render() ... why would Rails mutate that
hash, adding things to it? This seems awfully odd to me.

Rails has a hash of those local variables that should be created
inside a partial (for example if you are rendering a collection then
the current object in that collection is assigned to the appropriate
local variable name). If you supply a hash it uses that (perhaps it
should dup the hash you provide). This shouldn't have anything todo
with rendering partials from partials