import Control.Monad
import Control.Applicative

isPalindrome :: Eq a => [a] -> Bool
isPalindrome xs = xs == reverse xs

isPalindrome' :: (Eq a) => [a] -> Bool
isPalindrome' = liftM2 (==) id reverse

isPalindrome'' :: (Eq a) => [a] -> Bool
isPalindrome'' = (==) <*> reverse