Unify the output of `suggest_assign_value` and `ty_kind_suggestion`. Ideally we'd make these a single function, but doing so would likely require modify the crate dependency tree.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.