Practical type inference for arbitrary-rank types. Submitted to the Journal of Functional Programming (2005)

by Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich, Mark Shields