This makes a lot of sense.  Also in that link, they only define the method if it isn't already implemented: 
```
unless Hash.method_defined? :select!
  # define select!
end
```
Is there a reason we use the ```if RUBY_VERSION < '1.9' ``` logic instead of this?  Is it just for the convenience of grouping many methods under that umbrella?