"sorted" is a function to check if a list in sorted in ascending order.

```
pairs :: [a] -> [(a,a)]
pairs xs = zip xs (tail xs)

sorted :: Ord a => [a] -> Bool
sorted xs = and [x <= y | (x,y) <- pairs xs]

```

I am wondering what does "and" do in sorted xs?