Thanks for keeping a watchful eye. Is this behaviour a Ruby feature or an implementational detail of MRI? Are there RubySpecs which cover this issue? FWIW, Rubinius behaves in a similar manner to the code in this pull request. What solution would you suggest?