alternate :: [a] -> [a] -> [a]
alternate = concat ... zipWith f
  where
    f x y = [x,y]
alternate :: [a] -> [a] -> [a]
alternate = concat ... zipWith f
  where
    f x y = [x,y]
alternate = concat ... zipWith f
  where
    f x y = [x,y]