Kreuzprodukt von xs :: [a] mit ys :: [b]
xs :: [a]
ys :: [b]
cross xs ys = concat ( map ( \ x -> concat ( map ( \ y -> [ (x,y) ] ) ) ys ) ) xs
cross xs ys = xs >>= \ x -> ys >>= \ y -> return (x,y)