An implementation of the Hindley-Milner type inference algorithm in Haskell.