The text "Possible fix: add an instance declaration for ..." is redundant and not usually helpful
The current state of affairs: Given a typical type error, for example
"a" + "b"
No instance for (Num [Char]) arising from a use of `+' Possible fix: add an instance declaration for (Num [Char]) In the expression: "a" + "b" In an equation for `it': it = "a" + "b"
I'm concerned with the third line here:
It is redundant, for it just repeats information from the first line. In my experience, the redundancy sometimes hinders usability, namely, when the types get very long, visually burying the problematic expression.
Furthermore it is often misleading: Everyday type errors stem from incorrect usage of a library, not from missing bits of a library. The line tends to be confusing especially for new users: the only ones who might have profited from the redundancy.
To expand a bit on (1): An imported bit of information in the type error is the fact that the type mismatch lies in the application of (+) to "a". The user gains this information by combination of lines 2 and 4. It is incovenient that line 3 visually seperates those lines.
I propose that the problematic line be simply removed.