### Godot version

4.0 Beta10

### System information

Windows 10, Vulkan, GTX1060

### Issue description

`PropertyTweener`'s methods' return value are not discarded and effect the unary operator at next line.

In Editor:
![in_editor](https://user-images.githubusercontent.com/61624558/210715100-04bdf283-7954-4be3-94ca-338987b24c5b.png)


In cpp:
![in_cpp](https://user-images.githubusercontent.com/61624558/210715127-519f6d54-fc15-468f-9aca-ba7d387a5a7b.png)


### Steps to reproduce

Just run the Minimal reproduction project.

### Minimal reproduction project

[Bug Report.zip](https://github.com/godotengine/godot/files/10349829/Bug.Report.zip)

static constexpr const char *kind = "parameter";
	resolve_assignable(p_parameter, kind);
}
void GDScriptAnalyzer::resolve_if(GDScriptParser::IfNode *p_if) {
	reduce_expression(p_if->condition);
	resolve_suite(p_if->true_block);
	p_if->set_datatype(p_if->true_block->get_datatype());
	if (p_if->false_block != nullptr) {
		resolve_suite(p_if->false_block);
		decide_suite_type(p_if, p_if->false_block);
	}
}
void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) {
	bool list_resolved = false;
	
	
	if (p_for->list && p_for->list->type == GDScriptParser::Node::CALL) {
		GDScriptParser::CallNode *call = static_cast<GDScriptParser::CallNode *>(p_for->list);
		GDScriptParser::Node::Type callee_type = call->get_callee_type();
		if (callee_type == GDScriptParser::Node::IDENTIFIER) {
			GDScriptParser::IdentifierNode *callee = static_cast<GDScriptParser::IdentifierNode *>(call->callee);
			if (callee->name == "range") {
				list_resolved = true;
				if (call->arguments.size() < 1) {
					push_error(R"*(Invalid call for "range()" function. Expected at least 1 argument, none given.)*", call->callee);
				} else if (call->arguments.size() > 3) {
					push_error(vformat(R"*(Invalid call for "range()" function. Expected at most 3 arguments, %d given.)*", call->arguments.size()), call->callee);