### 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)

GDScriptCodeGenerator::Address op_result = codegen.add_temporary(_gdtype_from_datatype(assignment->get_datatype(), codegen.script));
					GDScriptCodeGenerator::Address value = codegen.add_temporary(_gdtype_from_datatype(subscript->get_datatype(), codegen.script));
					if (subscript->is_attribute) {
						gen->write_get_named(value, name, prev_base);
					} else {
						gen->write_get(value, key, prev_base);
					}
					gen->write_binary_operator(op_result, assignment->variant_op, value, assigned);
					gen->pop_temporary();
					if (assigned.mode == GDScriptCodeGenerator::Address::TEMPORARY) {
						gen->pop_temporary();
					}
					assigned = op_result;
				}
				
				if (subscript->is_attribute) {
					gen->write_set_named(prev_base, name, assigned);
				} else {
					gen->write_set(prev_base, key, assigned);
				}
				if (key.mode == GDScriptCodeGenerator::Address::TEMPORARY) {
					gen->pop_temporary();
				}
				if (assigned.mode == GDScriptCodeGenerator::Address::TEMPORARY) {
					gen->pop_temporary();
				}
				assigned = prev_base;
				
				for (const ChainInfo &info : set_chain) {
					bool known_type = assigned.type.has_type;