### Godot version

4.1.stable

### System information

Linux 5.10.181-2-MANJARO

### Issue description

A class with a function defined like this:

```gdscript
class_name Foo extends Node

func my_func(arr: Array[int]) -> Array[int]:
	return arr

```

Will show up in the docs as:

![image](https://github.com/godotengine/godot/assets/9107253/a4b2f5a5-beab-4c8f-9a1f-dab39ea3ea6e)

Whereas i'd expect it to show up as
```
Array[int] my_func(arr: Array[int])
```

The same seems to be true for properties.

### Steps to reproduce

1. Add script
```gdscript
class_name Foo extends Node

func my_func(arr: Array[int]) -> Array[int]:
	return arr
```
2. open class `Foo` in help

### Minimal reproduction project

N/A
break;
				}
				if (m_var->property == GDP::VariableNode::PROP_SETGET) {
					if (m_var->setter_pointer != nullptr) {
						prop_doc.setter = m_var->setter_pointer->name;
					}
					if (m_var->getter_pointer != nullptr) {
						prop_doc.getter = m_var->getter_pointer->name;
					}
				}
				if (m_var->initializer && m_var->initializer->is_constant) {
					prop_doc.default_value = m_var->initializer->reduced_value.get_construct_string().replace("\n", "");
				}
				prop_doc.overridden = false;
				doc.properties.push_back(prop_doc);
			} break;
			case GDP::ClassNode::Member::ENUM: {
				const GDP::EnumNode *m_enum = member.m_enum;
				StringName name = m_enum->identifier->name;
				p_script->member_lines[name] = m_enum->start_line;
				DocData::EnumDoc enum_doc;
				enum_doc.description = m_enum->doc_data.description;
				enum_doc.is_deprecated = m_enum->doc_data.is_deprecated;
				enum_doc.is_experimental = m_enum->doc_data.is_experimental;
				doc.enums[name] = enum_doc;
				for (const GDP::EnumNode::Value &val : m_enum->values) {
					DocData::ConstantDoc const_doc;
					const_doc.name = val.identifier->name;