pub fn eval_end_expr_value<'a>(
expr: &'a EndExpr,
end_value: f64,
vars: &'a [Value],
functions: &'a HashMap<String, UserFunction>,
call_builtin: &'a BuiltinEndCallback<'a>,
call_user: &'a UserEndCallback<'a>,
) -> Pin<Box<dyn Future<Output = Result<f64, RuntimeError>> + 'a>>