We don't need support for performing the [[Put]] operation on anything but indexed elements in self-hosted code, yet. That'll probably change at some point, at which time UnsafePutElements should be changed to support it. And be renamed to UnsafePut. The other option would be to keep UnsafePutElements as a fast-path for putting arbitrary numbers of indexed elements at once, and introduce UnsafePut in addition.
So the reason for UnsafePutElements supporting arbitrary numbers of indexed elements is for atomicity. I don't know of a use case now, but atomicity could be useful for the generic UnsafePut as well.
Ah, that makes sense, thanks for the explanation. While I don't know of a use case, either, I'm certainly not opposed to an UnsafePut that works for arbitrary numbers of either indexed elements or named properties.
UnsafePutElements was removed in http://hg.mozilla.org/mozilla-central/rev/5dbe1acdee3c - Resolving as Won't Fix.