Interleave List of Lists w Haskell

Zastanawiałem się, jak napisać funkcję w Haskell, która przeplata listę list na pojedynczych listach, na przykład, gdybym miał funkcję o nazwie

interleavelists :: [[a]] -> [a]

powinien być w stanie przeplatać elementy.

Przykład:[[1,2,3] [4,5,6] [7,8]] --> [1,4,7,2,5,8,3,6].

Listy mogą być zarówno skończone, jak i nieskończone ... Czy mogę użyćfoldr?

questionAnswers(4)

yourAnswerToTheQuestion