Functors and Predicates.