[Haskell] Fun with type functions