### Godot version

v4.0.rc1.official [8843d9ad3]

### System information

Lubuntu

### Issue description

You can't use + or += to mutate typed arrays.

It seems to be not correctly getting the type information from the second operand.

An erudite poster on the discord puts it differently:
> it's more like operator + doesn't retain Array typing
> the syntax for Array Concatenation via operators, but the idea gets across i think


The error you see is:
```Trying to assign an array of type "Array" to a variable of type "Array[int]".```


### Steps to reproduce

```
	var Alice: Array[int] = [1,2,3]
	var Bob: Array[int] = [4,5,6]
	Alice += Bob
```
This will crash with the above error message.

### Minimal reproduction project

[plus_syntax_broken_demo_project.zip](https://github.com/godotengine/godot/files/10694514/plus_syntax_broken_demo_project.zip)

#include "gdscript_analyzer.h"
#include "gdscript.h"
#include "gdscript_utility_functions.h"
#include "core/config/engine.h"
#include "core/config/project_settings.h"
#include "core/core_constants.h"
#include "core/core_string_names.h"
#include "core/io/file_access.h"
#include "core/io/resource_loader.h"
#include "core/object/class_db.h"
#include "core/object/script_language.h"
#include "core/templates/hash_map.h"
#include "scene/resources/packed_scene.h"
#if defined(TOOLS_ENABLED) && !defined(DISABLE_DEPRECATED)
#define SUGGEST_GODOT4_RENAMES
#include "editor/renames_map_3_to_4.h"
#endif
#define UNNAMED_ENUM "<anonymous enum>"
#define ENUM_SEPARATOR "."
static MethodInfo info_from_utility_func(const StringName &p_function) {