andM package:relude

Monadic version of and.
>>> andM [Just True, Just False]
Just False

>>> andM [Just True]
Just True

>>> andM [Just True, Just False, Nothing]
Just False

>>> andM [Just True, Nothing]
Nothing

>>> andM [putTextLn "1" >> pure True, putTextLn "2" >> pure False, putTextLn "3" >> pure True]
1
2
False