-- Stream Interleaving

(+++) :: [a] -> [a] -> [a]
cantor :: [[a]] -> [a]

-- [] +++ ys = ys
-- (x:xs) +++ ys = x:(ys +++ xs)

(+++) [] = id
(+++) (x:xs) = (x:) . (+++xs)

cantor = foldl (+++) []


