### Godot version

4.0beta14

### System information

Windows 10

### Issue description

Returned Array value isn't converted to Packed*Array

### Steps to reproduce

```
var string_array: PackedStringArray = ["test"] # valid
var int_array: PackedInt32Array = [3] # valid

func get_packed_string_array() -> PackedStringArray:
	return ["test"] #error


func get_packed_int_array() -> PackedInt32Array:
	return [3] #error
```

Line 8:Cannot return value of type "Array" because the function return type is "PackedStringArray".
Line 12:Cannot return value of type "Array" because the function return type is "PackedInt32Array".

### Minimal reproduction project

[return_bug.zip](https://github.com/godotengine/godot/files/10490367/return_bug.zip)

if (p_source == nullptr && parser->has_class(p_class)) {
		p_source = p_class;
	}
	if (p_class->base_type.is_resolving()) {
		push_error(vformat(R"(Could not resolve class "%s": Cyclic reference.)", type_from_metatype(p_class->get_datatype()).to_string()), p_source);
		return ERR_PARSE_ERROR;
	}
	if (!p_class->base_type.has_no_type()) {
		
		return OK;
	}
	if (!parser->has_class(p_class)) {
		String script_path = p_class->get_datatype().script_path;
		Ref<GDScriptParserRef> parser_ref = get_parser_for(script_path);
		if (parser_ref.is_null()) {
			push_error(vformat(R"(Could not find script "%s".)", script_path), p_source);
			return ERR_PARSE_ERROR;