Not for this PR: I think the only reason why we need to pass the evaluator here (instead of getting it from self.logup_gkr_constraints_evaluator) is that the evaluator does not have a concrete type, and thus, cannot be a field inside a struct. If so, we may want to re-add the associated type to the Air trait for LogUpGkrEvaluator. But this would be for a follow-up PR.
_Originally posted by @irakliyk in https://github.com/facebook/winterfell/pull/317#discussion_r1762446011_