This looks for swapped arguments by looking at implicit conversions of
literal arguments
void Foo(int, double);
Foo(1.0, 3); // Most likely a bug
We do this by checking that the same argument types exist in literals and
the declaration of the function.
ImplicitArgumentConversion is not exactly what this does, I think. Maybe SwappedArgumentsCheck?