I'm unsure about how we want to go about this. I think it's valuable to add this function for 1.8, but this might not be the best place for it, nor the best approach (i.e. maybe `Enumerable.extend(...)` would be preferable. I'm certainly open to ideas.