[Haskell-cafe] Unification for rank-N types