pub fn restore_expression( expression: &mut Expr, resolver: &dyn FunctionTypeResolver, ) -> Result<bool, String>
Stored syntax traversal visits parents first, retaining outer negation before its child changes.