Dear Haskellers For a long time now, Mark Shields and I have been writing a paper describing GHC's approach to type inference for higher-rank types. We've finally finished a complete draft: Practical type inference for arbitrary-rank types Simon Peyton Jones and Mark Shields http://research.microsoft.com/~simonpj/papers/putting/index.htm The paper has a strongly tutorial flavour, and comes complete with a prototype implementation that you can play with. My hope is that, in addition to describing higher-rank stuff, the paper may serve as a kind of tutorial on type inference generally, and the use of monads to support the plumbing in particular. There's nothing really new about this aspect of the paper, but I don't know of a comparable tutorial that takes a monadic approach. It's still very much a draft, so I'd be very interested in your feedback about it. Simon