I just read through this post abour async errors: https://blog.rust-lang.org/inside-rust/2019/10/11/AsyncAwait-Not-Send-Error-Improvements.html
I have actually been wanting something like this for type errors in general. That is, I found find my self doing "type debugging" where I want to find out how the compiler inferred a given type. It seems that Hindley Milner type inferrence produces a chain of constraints that bound a type, so we could find so the same thing as with the errors in the post above...