### Godot version

4.0.2

### System information

Ubuntu 22.04.1 LTS

### Issue description

So far I've found these ones:

![Screenshot from 2023-05-10 17-56-42](https://github.com/godotengine/godot/assets/85438892/b161b14a-cb7d-46fe-8398-816bf354a929)
![Screenshot from 2023-05-10 18-01-02](https://github.com/godotengine/godot/assets/85438892/b0fefcfb-4246-4ebb-ae7b-dd798d7a1d63)

But there are likely more like them. They are invalid, at least in the context I encountered them here (at the beginning of a regular line of script)

### Steps to reproduce

Type `Anchor` in the code editor.

### Minimal reproduction project

N/A
found = true;
			} break;
			default:
				break;
		}
	}
	
	if (found && r_type.type.kind == GDScriptParser::DataType::BUILTIN && r_type.type.builtin_type == Variant::NIL) {
		found = false;
	}
	
	
	if (!found && p_expression->get_datatype().is_hard_type()) {
		r_type.type = p_expression->get_datatype();
		if (!r_type.assigned_expression) {
			r_type.assigned_expression = p_expression;
		}
		found = true;
	}
	return found;
}
static bool _guess_identifier_type(GDScriptParser::CompletionContext &p_context, const GDScriptParser::IdentifierNode *p_identifier, GDScriptCompletionIdentifier &r_type) {
	static int recursion_depth = 0;
	RecursionCheck recursion(&recursion_depth);
	if (unlikely(recursion.check())) {
		ERR_FAIL_V_MSG(false, "Reached recursion limit while trying to guess type.");
	}
	
	int last_assign_line = -1;
	const GDScriptParser::ExpressionNode *last_assigned_expression = nullptr;