tests/cases/compiler/functionTypeArgumentArityErrors.ts(4,4): error TS2743: No overload expects 2 type arguments, but overloads do exist that expect either 1 or 3 type arguments.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(5,4): error TS2558: Expected 4 type arguments, but got 5.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(10,4): error TS2743: No overload expects 2 type arguments, but overloads do exist that expect either 1 or 3 type arguments.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(11,4): error TS2558: Expected 3 type arguments, but got 4.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(16,4): error TS2558: Expected 0 type arguments, but got 1.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(20,4): error TS2558: Expected 2-3 type arguments, but got 1.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(21,4): error TS2558: Expected 2-3 type arguments, but got 4.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(25,4): error TS2558: Expected 2 type arguments, but got 1.
tests/cases/compiler/functionTypeArgumentArityErrors.ts(26,4): error TS2558: Expected 2 type arguments, but got 3.


==== tests/cases/compiler/functionTypeArgumentArityErrors.ts (9 errors) ====
    // Overloaded functions with default type arguments
    declare function f1<A = any>(): void;
    declare function f1<A, B, C, D = any>(): void;
    f1<number, number>();
       ~~~~~~~~~~~~~~
!!! error TS2743: No overload expects 2 type arguments, but overloads do exist that expect either 1 or 3 type arguments.
    f1<number, number, number, number, number>();
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2558: Expected 4 type arguments, but got 5.
    
    // Overloaded functions with no default type arguments
    declare function f2<A>(): void;
    declare function f2<A, B, C>(): void;
    f2<number, number>();
       ~~~~~~~~~~~~~~
!!! error TS2743: No overload expects 2 type arguments, but overloads do exist that expect either 1 or 3 type arguments.
    f2<number, number, number, number>();
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2558: Expected 3 type arguments, but got 4.
    
    // Overloaded non-generic functions
    declare function f3(): void;
    declare function f3(a): void;
    f3<number>();
       ~~~~~~
!!! error TS2558: Expected 0 type arguments, but got 1.
    
    // Generic function with default type parameters
    declare function f4<A, B, C = any>(): void;
    f4<number>();
       ~~~~~~
!!! error TS2558: Expected 2-3 type arguments, but got 1.
    f4<number, number, number, number>();
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2558: Expected 2-3 type arguments, but got 4.
    
    // Generic function with no default type arguments
    declare function f5<A, B>(): void;
    f5<number>();
       ~~~~~~
!!! error TS2558: Expected 2 type arguments, but got 1.
    f5<number, number, number>();
       ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2558: Expected 2 type arguments, but got 3.
    