andM package:verset

A version of and lifted to a monad. Retains the short-circuiting behaviour.
andM [Just True,Just False,undefined] == Just False
andM [Just True,Just True ,undefined] == undefined
\xs -> Just (and xs) == andM (map Just xs)