I'm not sure if this is what we want to do for the negative case.  A plain reading of `expect(x).to_not all( matcher )` is `!x.all? { |item| matcher === item }` (that is, it'll pass if at least one of the items does not match), but you have implemented `x.none? { |item| matcher === item }`.  This is what we've used elsewhere (e.g. for `expect(obj).not_to respond_to(:foo, :bar)`, it uses the `none?` semantics because the intent there is that the object does not respond to any of the messages), but I don't know if that's what users would expect here.  I'm not sure which semantic makes the most sense or is what users would expect.  Really, I can see an argument for either.  Given that, I'd rather disallow the negative form for now, and potentially reenable it after there's been a community discussion.