LGTM (In follow up many of these could be std::one_of, std::any_of, none_of, etc - though we could add llvm versions of those that work on ranges directly (rather than iterator begin/end)) http://reviews.llvm.org/D4481