CodeEvalのReverseWordsが解けません。
https://www.codeeval.com/open_challenges/8/

solve内でリストをreverseさせたいのですが、
リスト内の要素を文字列を反復してしまいます。

こういったとき、どういう風に考えれば解けますでしょうか?

import System.Environment (getArgs)

solve :: [String] -> [String]
solve ss = fmap reverse ss

main = do
    contents <- getContents
    mapM_ putStrLn $ solve $ lines contents