[Haskell] Re: Typing unification algorithm for parameterized types using GADTs?