I've been studying optimization techniques for Ruby (because I'm quite fascinated by how fast this implementation is getting). Apparently, in several versions of Ruby, resolving a proc is measurably slower than running a map operation on Enumerable. In the long run, it should end up being a wash because Ruby can optimize both cases equally (and maybe even eventually the proc reference becomes faster), but benchmark proves that for now, we get better performance out of the longhand.