[Haskell-beginners] How does the type of "ap = liftM2 id" work?