`include Enumerable; def each; end` is all that's needed to support the full enumerable interface.

That said, I think there's a better solution I just thought of.  The majority of the code in `Formatters::Collection` has nothing to do with the collection of formatters.  It has to do with loading formatters.  So, what do you think of this?

* Rename it to `Formatters::Loader`.
* Remove the collection-style methods from it (`empty?`, `clear`, `to_a`), but retain `formatters`, which returns the formatters it has loaded.
* Keep an instance of `Formatters::Loader` in `RSpec.configuration` called `formatter_loader`.
* Change `RSpec::Core::Configuration#formatters` to return `formatter_loader.formatters`.

Then `RSpec.configuration.formatters` will just be an array like it's always been.  Your existing `Formatters::Collection` class gets paired down to a primary responsibility of loading formatters rather than having a secondary responsibility of presenting a collection interface (which is an SRP violation, I think).  No APIs break :).