[Haskell-beginners] joining lists sharing multiple type classes