It might be a good idea to use a multi-line `do...end` here so as to make the yield more obvious.  It took me a few moments to spot it...