pub fn eval(expr: &Expr, env: &Env) -> Result<Value, String>
Evaluates an expression without file I/O context. This is the public API used by tests and non-I/O evaluation paths.