One of the methods takes `&mut self`, the other takes `self`, which is strange, since they are almost exactly the same code. I'm guessing that `IteratorExt::all` should take `&mut self`, like `any` does.