Lovely query design for core data, with type-safe predicates