module Opaleye.Internal.Helpers where infixr 8 .: (.:) :: (r -> z) -> (a -> b -> r) -> a -> b -> z .: :: forall r z a b. (r -> z) -> (a -> b -> r) -> a -> b -> z (.:) r -> z f a -> b -> r g a x b y = r -> z f (a -> b -> r g a x b y) infixr 8 .:. (.:.) :: (r -> z) -> (a -> b -> c -> r) -> a -> b -> c -> z .:. :: forall r z a b c. (r -> z) -> (a -> b -> c -> r) -> a -> b -> c -> z (.:.) r -> z f a -> b -> c -> r g a a b b c c = r -> z f (a -> b -> c -> r g a a b b c c) infixr 8 .:: (.::) :: (r -> z) -> (a -> b -> c -> d -> r) -> a -> b -> c -> d -> z .:: :: forall r z a b c d. (r -> z) -> (a -> b -> c -> d -> r) -> a -> b -> c -> d -> z (.::) r -> z f a -> b -> c -> d -> r g a a b b c c d d = r -> z f (a -> b -> c -> d -> r g a a b b c c d d) infixr 8 .::. (.::.) :: (r -> z) -> (a -> b -> c -> d -> e -> r) -> a -> b -> c -> d -> e -> z .::. :: forall r z a b c d e. (r -> z) -> (a -> b -> c -> d -> e -> r) -> a -> b -> c -> d -> e -> z (.::.) r -> z f a -> b -> c -> d -> e -> r g a a b b c c d d e e = r -> z f (a -> b -> c -> d -> e -> r g a a b b c c d d e e) atSameType :: p a a -> p a a atSameType :: forall (p :: * -> * -> *) a. p a a -> p a a atSameType = forall a. a -> a id