import Control.Applicative dupli :: [a] -> [a] dupli = concatMap (replicate 2) dupli' xs = concat [ [x,x] | x <- xs ] dupli'' = (<**> [id,id]) dupli''' = foldr ((.) <$> (:) <*> (:)) []