move Expr::new_atom() to returning an ExprResult