### 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;
			case GDP::ClassNode::Member::VARIABLE: {
				const GDP::VariableNode *m_var = member.variable;
				const StringName &var_name = m_var->identifier->name;
				p_script->member_lines[var_name] = m_var->start_line;
				DocData::PropertyDoc prop_doc;
				prop_doc.name = var_name;
				prop_doc.description = m_var->doc_data.description;
				prop_doc.is_deprecated = m_var->doc_data.is_deprecated;
				prop_doc.is_experimental = m_var->doc_data.is_experimental;
				GDType dt = m_var->get_datatype();
				switch (dt.kind) {
					case GDType::CLASS:
						prop_doc.type = _get_class_name(*dt.class_type);
						break;
					case GDType::VARIANT:
						prop_doc.type = "Variant";
						break;
					case GDType::ENUM:
						prop_doc.type = Variant::get_type_name(dt.builtin_type);
						
						prop_doc.enumeration = String(dt.native_type).replace("::", ".");
						break;
					case GDType::NATIVE:;
						prop_doc.type = dt.native_type;
						break;
					case GDType::BUILTIN:
						prop_doc.type = Variant::get_type_name(dt.builtin_type);
						break;
					default: