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.