Yeah, my concern here is that someone could use `flat_map` in their implementation code and be intending to support 1.8.7, and their specs would pass on 1.8.7, but only because we've monkey patched it here.  Once that code goes out to prod, it would fail, and they would rightfully be annoyed at us for adding this monkey patch.

How about this instead:

``` ruby
module RSpec
  FLAT_MAPPER = if [].respond_to?(:flat_map)
    lambda { |array, &block| array.flat_map(&block) }
  else
    lambda { |array, &block| array.map(&block).flatten }
  end
end
```

Then you can just use `FLAT_MAPPER.call(array)`.