My suggestion:

* Add a separate `all_not` matcher. This is very explicit that _every_ item in the list must _not_ match the matcher:

``` ruby
expect(list).to all_not( be_full )
```

Make the negated from of `all` raise an error telling people to use negated `include` or `all_not`, depending on what they want.

@JonRowe, what do you think of that plan?