Filter items based on a predicate. This is necessary for cases where we are scanning over a set of data which has not been pre-filtered by an index search - or to supplement/validate an index search with additional filtering.