In order to combine 2 lists the following code could be used.
[(x,y) | x <- [1, 2, 3], y <- [4, 5, 6]]
Or
(,) <$> [1,2,3] <*> [4,5,6]
Which produce
[(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]
How could this be done where given a list of N lists rather than 2 lists they would be combined in such a way?
Preferebly using list comprehenison if possible as I find it the easiest to interpret.