You're registering these shared example groups at the top level.  That means there can't be any other shared example groups in the project named `"composing with other matchers"` -- but that's a pretty general name.  Instead, please do this:

``` ruby
module RSpec
  module Matchers
    describe BeBetween do
      shared_examples_for "composing with other matchers" do |mode|
      end

      describe "expect(...).to be_between(min, max) (inclusive)" do
        it_behaves_like "composing with other matchers"
      end
    end
  end
end
```

By putting the shared example definitions within an example group, it limits their scope to just that example group, so they can't collide with shared example groups declared elsewhere.