:: Bool -> a -> a -> a -package:if

if-then-else as function. Example:
if' (even n) "even" $
if' (isPrime n) "prime" $
"boring"
The same as if', but the name is chosen such that it can be used for GHC-7.0's rebindable if-then-else syntax.
for support of if .. then .. else
RebindableSyntax splats this, and I'm not sure where it exists in GHC land
Because of RebindableSyntax, this is necessary to enable you to use if-then-else expressions. No need to call it directly.
Definition of ifThenElse for use with RebindableSyntax
Hang on the True case of bool.
onTrue b f t = bool f t b
Hang on the False case of bool.
onFalse b t f = bool f t b
Same as bool, except the Bool comes before the case functions. Equivalent type signature:
boolL :: forall r. Analysis Bool r
The implementation is just:
boolL = gcase