Overloading a generic method with the same name in different units
## Summary
If I have two overloaded functions in a unit, FPC detects the the correct one but if I split them in two units, it will raise an error:
_Error: Wrong number of parameters specified for call to "Test"_
## System Information
Lazarus 2.3.0 (rev main-2_3-1668-g34b3b9a49a) FPC 3.3.1 x86_64-win64-win32/win64
## Example Project
```pascal
unit Unit1;
{$mode Delphi}
interface
function Test(const A: Rawbytestring): Integer; overload;
implementation
function Test(const A: Rawbytestring): Integer;
begin
end;
end.
```
```pascal
unit Unit2;
{$mode Delphi}
interface
function Test<T>(const A: TArray<T>): Integer; overload;
implementation
function Test<T>(const A: TArray<T>): Integer;
begin
end;
end.
```
```pascal
program Project1;
{$mode Delphi}
uses unit1, unit2;
var
S: Rawbytestring;
I: Integer;
begin
I := Test(S);
end.
```
## What is the expected (correct) behavior?
Detect the correct overload.
Related issues: #38083 and #39680. Maybe it is related to 90844c2027e078fcc1ff6b8d3df911a77bac2ed3
issue