[Haskell-beginners] Are functors in Haskell always injective?