Type errors due to different package versions are a bit cryptic
Users of xmonad who've compiled one dependent library against X11 1.2, and then update X11, and attempt to recompile xmonad against the new X11 1.2.2, get a cryptic type error:
Couldn't match expected type `Graphics.X11.Xlib.Types.Display' against inferred type `Display'
Perhaps non-local types should be printed with their package name and version, which would clarify this error. Something like:
Couldn't match expected type `X11-1.2: Graphics.X11.Xlib.Types.Display' against inferred type `X11-1.2.2: Display'
|Component||Compiler (Type checker)|