import Data.List import Control.Monad main :: IO () main = do putStrLn $ show foo foo :: [(Int, Int)] foo = do x <- [1,2,3] y <- [4,5,6] guard (x > 1) [0,0,0] return (x, y)