pub trait SymbolicEvaluator<F: Field, E: AbstractField + From<F>> {
// Required method
fn eval_var(&self, symbolic_var: SymbolicVariable<F>) -> E;
// Provided method
fn eval_expr(&self, symbolic_expr: &SymbolicExpression<F>) -> E { ... }
}