Hm, maybe:

bool :: a -> a -> Bool -> a
cond :: (a -> b) -> (a -> b) -> (a -> Bool) -> a -> b


On 11 September 2013 00:36, Christopher Done <chrisdone@gmail.com> wrote:
+1

I use:

bool :: (a -> b) -> (a -> b) -> (a -> Bool) -> a -> b

which is better for point-free programming, but I'll go along with yours because bool :: a -> a -> Bool -> a is also useful.​