adding set operations to iterators to modify the predicate
working through predicate errors in abstract iterator