non-portable  experimental (Fumiaki Kinoshita <fumiexcel@gmail.com>  Safe-Inferred 3Return its second argument if the boolean value is , otherwise return first.  A lifted .  A lifted .  A lifted ().  A lifted (), but it doesn'6t run the second argument if the first returns False.  A lifted ().  A lifted (), but it doesn'5t run the second argument if the first returns True. 6Run the action if the given monadic condition becomes . 6Run the action if the given monadic condition becomes .  ? b returns the second argument if b is True, otherwise becomes .  F b returns the second argument if b is True, otherwise becomes mzero. An  analogue of .  ? b returns the second argument if b is True, otherwise becomes .            control-bool-0.2 Control.BoolboolnotFnotM<&&><&=><||><|=>whenMunlessM ifThenElseMguard'guardM'aguardaguard'ghc-prim GHC.TypesTrue GHC.Classesnot&&||Falsebase Control.MonadmzeroControl.Applicative Alternativeguardempty