module Data.Function.Flip where (<->) :: (a -> b -> c) -> b -> a -> c (<->) = flip flip3 :: (a -> b -> c -> d) -> c -> b -> a -> d flip3 f c b a = f a b c (<-->) = flip3 flip4 :: (a -> b -> c -> d -> e) -> d -> b -> c -> a -> e flip4 f d b c a = f a b c d (<--->) = flip4 flip5 :: (a -> b -> c -> d -> e -> f) -> e -> b -> c -> d -> a -> f flip5 f e b c d a = f a b c d e (<---->) = flip5