That makes sense, but I think it would be easier to follow the logic if `main.shared_examples` was defined slightly differently from `RSpec::Core::ExampleGroup#shared_examples` to take care of that case.  That way, it's explicit which case is needed from which context (since the logic for that case is explicitly defined for that context).  Does that make sense?