Hello, I feel like this is a bug or maybe already known, asking here just to be sure...
I have a type A which takes one generic that defaults to any.
I have a type B which takes two generics and they both default to any.
I have a type Mix which is a union of A and B.
I have a function which has two overloads.
In the first overload, it'll take in a function that itself takes a parameter of type A.
In the second overload, it'll take in a function that itself takes a parameter of type B.
In the implementation, it takes in a function that itself takes a parameter of type Mix but now, TS complains that the first overload isn't compatible with the implementation signature.
That is very weird because I don't have this error when the implementation takes in a union of a function that takes in a parameter of type A and of a function that takes in a parameter or type B which should (?) be the same thing because Mix is a union of A and B.
Here is a playground that's probably easier to understand: