úÎZ  5Typeclass for things that support Boolean operators.  Instances:  Normal   values (obviously).  Any function that returns a . C This instance arrises due to the monad instance for functions. # Any monadic action that returns a . D The left action is performed before the right action (which may - be significant, depending on the monad). Logical-AND of two values. *Logical-OR of two values. (Inclusive-OR.) .Logical-NOT of two values. (Logical inverse.) ?Exclusive-OR (XOR). There is a default implementation, but you / can override it for efficiency if desired. 6Typeclass for things that have true and false values.  Instances:  Normal   values (obviously).  Any function that yields a  as its result.  ( =    ,  =    ) C This instance arrises due to the monad instance for functions. " Any monadic action that yields a  as its result.  ( =    ,  =    )  Convert a   value to the appropriate .        AC-Boolean-1.1.0 Data.BooleanBoolean&&||notxor BoolValuetruefalse lift_boolghc-primGHC.BoolBoolbaseGHC.BaseconstTrueFalsereturn