thank you for the long and detailed response :-)

> Negation#description can delegate to that method on the wrapped matcher when the matcher responds to it.

already did this: https://github.com/yelled3/rspec-expectations/blob/add_negation_matcher/lib/rspec/matchers/built_in/negation.rb#L25-L31

> failure_message_when_negated is just fine as it is and doesn't need to use description_when_negated. In fact, I don't think BaseMatcher needs to (or should) implement description_when_negated at all -- the point of description_when_negated is to allow matchers to define custom phrasing for the string that (~matcher).description returns, so the cases we need it are cases that can't be defined generically on a base class like BaseMatcher.

before you start - I aggregated all code I'm referencing to a gist, to clarify this:
https://gist.github.com/yelled3/10447754

the problem, is that some matchers (like ```Include```) are using ```description``` in their ```failure_message``` and ```failure_message_when_negated```:
https://github.com/rspec/rspec-expectations/blob/master/lib/rspec/matchers/built_in/include.rb#L35-L43
as you can see, both methods delagate to ```BaseMatcher```:
https://github.com/yelled3/rspec-expectations/blob/master/lib/rspec/matchers/built_in/base_matcher.rb#L58-L70
which by default, invokes ```description```:
```ruby 
"expected #{@actual.inspect} to not #{description}"
```

this in turn, requrieed me to edit ```BaseMatcher```:
``` ruby
      def failure_message_when_negated
          assert_ivars :@actual
          if respond_to?(:description_when_negated)
            "expected #{@actual.inspect} to #{description_when_negated}"
          else
            "expected #{@actual.inspect} to not #{description}" # default negation, notice -"to not"
          end
        end
```
see: https://github.com/yelled3/rspec-expectations/blob/add_negation_matcher/lib/rspec/matchers/built_in/base_matcher.rb#L70-L77

bear with me a little more :-)
changing ```BaseMatcher#failure_message_when_negated``` is the culprit for the ```not to``` => ```to not``` change;
I wanted to have consistency in the message format, and the ```not``` word now becomes part of the verb (e.g ```to not include ...```) in the ```description```.