Denis' version doesn't work for names containing hyphens or apostrophes. The original works for both.... However, the original explicitly assumes there are always at least two names and gives erroneous data if there are more than two. Output below shows the failure on hyphenated names.
Prelude Data.Char Control.Monad.Reader> unwords $ words $ takeWhile isAlphaOrSpace $ dropWhile (not . isAlpha) $ " \" John Doe \" "
"John Doe"
Prelude Data.Char Control.Monad.Reader> unwords $ words $ takeWhile isAlphaOrSpace $ dropWhile (not . isAlpha) $ " \" John Doe-Smith \" "
"John Doe"