nicer predicate