func AndPredicates(a Predicate, b Predicate) Predicate {
if notA, ok := a.(*predicates.NotImpl[Task]); ok {
// !A && !B = !(A||B)
return predicates.Not(OrPredicates(notA.Predicate, notB.Predicate))
}
a, b = b, a
}