[Haskell] Re: Rank-N types vs existential types