In Haskell, I sometimes have to annotate code with type info because the type-inferer otherwise fails (even with -XNoMonomorphismRestriction). Surely, most of the time this is because I was writing buggy code, but sometimes, type annotation just seems needed to get a successful compilation (luckily not as often as in C# 3.0)

It seems some new papers appeared regarding this, e.g. http://research.microsoft.com/~simonpj/papers/boxy

Is this work being incorporated into GHC?

Unfortunately I'm not able to read those papers, so I'm not really sure what it means anyway and what implications (example code?) it would have ;-)

Cheers,
Peter