This PR is introducing state to this class for the first time.  (Before now, it's been completely stateless).  Given that it's a global object (exposed as `RSpec::Expectations.differ`), making it stateful seems problematic.  Is the state really needed?