In Racket, there is a really useful built in function andmap that lets see if a function evaluates to true on every element of a given list, as follows:
> (andmap number? (list 2 4 5))
#t
> (andmap number? (list 2 4 "foo"))
#f
Is there an equivalent of this in Haskell, or do you have to construct it yourself by using map and reduce?