>
> I wouldn't say it is over. See #4151.   ...

Is #each_with a better name?
>

Has anyone suggested `map_to`? I think `map_to` has a clearer intention
than `each_with`, because you're mapping the collection onto something, and
then returning it.
I don't really like the `each` part of `each_with_object`, because
`array.each` just returns the array. Since we usually use `each` to
iterate, and `map` to build an array, I think `map_to(<object>)` might make
sense.

How does this look:

  [1, 2, 3].map_to({}) { |e, hash| hash[e] = e ** 2 }


I'd also propose a `map_to_hash` method. It's longer than `map_to({})`, but
I think it's nicer to read:

  [1, 2, 3].map_to_hash { |e, hash| hash[e] = e ** 2 }


`map_to_hash(0)` would also be nicer than `map_to(Hash.new(0))`.


What do you think?