Internals: Increase visibility of f___get_first_arg_type().

It can be useful from other C-level code.
Runtime: Improve diagnostics from the variant dispatcher.

The variant dispatcher now informs about all potential alternatives
when there's an argument mismatch.