Then applying rule 3 gives
pairs lst1 lst2 = do
x <- lst1
lst2 >>= (\y -> return (x,y))