I am uncertain if what any of you seek makes sense. The type checker is concerned with establishing a principle type and that is what is being reported, the principle type. The compiler as I pointed out in "On the Meaning of Haskell 8" by design has not a clue as to the significance your type alias has.