> Thanks again for the response. Just to clarify, I didn't create any of these examples. They were all extracted.

I know :).  rspec-core (where you extracted them from) has the sandboxing logic that avoids some edge cases like what you hit here..but it's overkill to have that here.

> I don't really understand your rationale about extend. I think users passing blocks to `shared_context` would expect those blocks to have access to the DSL available to example groups and, by extension, to any methods "added" via the `extend` method.

Users do have access to `its` from a `shared_context` block.  I don't see a spec here for that, but I'm convinced that works due to how `shared_context` works.  (Feel free to add a spec to verify; really that would be a good idea).

However, the construct we're talking about is the `SharedContext` module, which is different from a `shared_context` block.  It is used like so:

``` ruby
module MyMixing
  extend RSpec::SharedContext

  # use rspec constructs here
end
```

The `RSpec::SharedContext` module needs to have an `its` method for it to be available in that context, so you have to include your module for that to work.  Does that make sense?