This was my one complaint as well, and it happens with the example given of any'
Defining any' as
any' f xs = foldl (\acc x -> f x || acc) False xs
Then trying to evaluate any' even [1..] runs forever, but if we modify it slightly to use foldr instead as
any' f xs = foldr (\x acc -> f x || acc) False xs
Then evaluating any' even [1..] terminates basically immediately with True.