úζ  5Typeclass for things that support Boolean operators.  Instances:  Normal   values (obviously).  Any function that returns a . D (The result is a new function that runs the old function(s) and 8 applies the appropriate operator to the result(s).) # Any monadic action that returns a . > (Again, the result is a new action that runs the existing F action(s) and applies the appropriate operator to the result(s).) 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.  (For example, ) is just a constant function that always 5 returns a truth value, regardless of its input.) " Any monadic action that yields a  as its result.  (This is just   applied to the appropriate .)  Convert a   value to the appropriate .       AC-Boolean-1.0.0 Data.BooleanBoolean&&||notxor BoolValuetruefalse lift_boolghc-primGHC.BoolBoolbaseGHC.Basereturn