[Haskell-beginners] understanding type classes and class constraints