Arbitrary predicates are easily supported.