It might makes sense to do a quick performance test using the predicate vs. not. Even though the hack isn't pretty, if it enables a 3x speed improvement then the code smell is worth it.

I believe that @fnothaft did some work on Parquet predicates to clean this up so maybe he has a better way? He's traveling now and will be back in the lab this Wednesday.