@ktf is there any reason to define and use both ExprEvalSingleton and ExprEval?