>>> take 1 (intersperse undefined ('a' : undefined)) "a"
>>> take 2 (intersperse ',' ('a' : undefined)) "a*** Exception: Prelude.undefined
>>> intersperse ',' "abcde" "a,b,c,d,e"
>>> intersperse 1 [3, 4, 5] [3,1,4,1,5]
cons 't' "est" == "test" \x xs -> uncons (cons x xs) == Just (x,xs)
>>> intersperse ',' "abcde" "a,b,c,d,e"
>>> 'a' <$ Just 2 Just 'a' >>> 'a' <$ Nothing Nothing