[Haskell] type question revisited