Then applying rule 3 gives

pairs lst1 lst2 = do
   x <- lst1
   lst2 >>= (\y -> return (x,y))