I changed an error messages and fixed a minor bug while implementing this proposal, which led to a few compile error cases failing.