### Godot version

v4.0.beta.custom_build [1d14c054a]

### System information

Kubuntu 22.10

### Issue description

Regression in master (in beta 10 the following script works correctly).

### Steps to reproduce

```gdscript
@tool
extends EditorScript

func wait(time: float) -> void:
    await get_editor_interface().get_tree().create_timer(time).timeout

func _run() -> void:
    reference()
    # Error: Cannot get return value of call to "wait()" because it returns "void".
    await wait(1.0)
    print("Test")
    unreference()
```

### Minimal reproduction project

N/A
} else {
			push_error(vformat(R"(Invalid operands "%s" and "%s" for assignment operator.)", assignee_type.to_string(), assigned_value_type.to_string()), p_assignment);
		}
	} else if (assignee_type.is_hard_type() && !assignee_type.is_variant()) {
		mark_node_unsafe(p_assignment);
		p_assignment->use_conversion_assign = true;
	} else {
		mark_node_unsafe(p_assignment);
		if (assignee_type.is_hard_type() && !assignee_type.is_variant()) {
			p_assignment->use_conversion_assign = true;
		}
	}
	if (p_assignment->assignee->type == GDScriptParser::Node::IDENTIFIER) {
		
		GDScriptParser::IdentifierNode *identifier = static_cast<GDScriptParser::IdentifierNode *>(p_assignment->assignee);
		switch (identifier->source) {
			case GDScriptParser::IdentifierNode::MEMBER_VARIABLE: {
				GDScriptParser::DataType id_type = identifier->variable_source->get_datatype();
				if (!id_type.is_hard_type()) {
					id_type.kind = GDScriptParser::DataType::VARIANT;
					id_type.type_source = GDScriptParser::DataType::UNDETECTED;
					identifier->variable_source->set_datatype(id_type);
				}
			} break;
			case GDScriptParser::IdentifierNode::FUNCTION_PARAMETER: {
				GDScriptParser::DataType id_type = identifier->parameter_source->get_datatype();
				if (!id_type.is_hard_type()) {
					id_type.kind = GDScriptParser::DataType::VARIANT;
					id_type.type_source = GDScriptParser::DataType::UNDETECTED;
					identifier->parameter_source->set_datatype(id_type);