Commits

Chris Lattner committed aad3cf9e10c
Factor out structural error diagnostics out to a helper method (allowing the code to be actually readable since it unnests it greatly), and call it both before and after argument type validation. This allows us to capture many more structural errors than before, leading to much better diagnostics in a lot of cases. This also fixes the specific regressions introduced by 96a1e96.