5 g1 :: // meest algemene type
6 g1 as bs = [(a,b) \\ a <- as, b <- bs]
8 g2 :: // meest algemene type
9 g2 as bs = [(a,b) \\ a <- as & b <- bs]
11 g3 :: // meest algemene type
12 g3 as bs = [(a,b) \\ a <- as, b <- bs | a <> b]
14 g4 :: // meest algemene type
15 g4 as bs = [a \\ a <- as, b <- bs | a == b]
17 g5 :: // meest algemene type
18 g5 xss = [x \\ xs <- xss, x <- xs]
20 g6 :: // meest algemene type
21 g6 a xs = [i \\ i <- [0 ..] & x <- xs | a == x]