[Haskell-beginners] distinguished types