A filter instance can evaluate a combination of values and return true or false depending on the evaluation result.
The first use of this class is in the #LookForwardAndFilterIterator class. That class shall evaluate a combination
of variable values returned by surrounding iterators and check if the combination will pass implicit binding for
the rules indicated for the default values. But the interface definition shall be neutral so the interface could
potentially be used in other cases