:: Eq a => [a] -> [a] -> [a] -> [a] -package:graphviz package:cond

if' lifted to Monad. Unlike liftM3 if', this is short-circuiting in the monad, such that only the predicate action and one of the remaining argument actions are executed.