module Data.Function.Contravariant.Composition where (-.) :: (a -> b) -> (b -> c) -> a -> c (-.) g f a = f $ g a (-.:) :: (b -> c) -> (a -> c -> d) -> a -> b -> d (-.:) g f a b = f a $ g b (-.::) :: (c -> d) -> (a -> b -> d -> e) -> a -> b -> c -> e (-.::) g f a b c = f a b $ g c (-.:::) :: (d -> e) -> (a -> b -> c -> e -> f) -> a -> b -> c -> d -> f (-.:::) g f a b c d = f a b c $ g d (-.::::) :: (e -> f) -> (a -> b -> c -> d -> f -> g) -> a -> b -> c -> d -> e -> g (-.::::) g f a b c d e = f a b c d $ g e