fb87e7ceed
Some cleanups around check_argument_types Split out in ways from my rebase/continuation of #71827 Commits are mostly self-explanatory and these changes should be fairly straightforward
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.