module Opaleye.Internal.Helpers where infixr 8 .: (.:) :: (r -> z) -> (a -> b -> r) -> a -> b -> z .: :: (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 .:. :: (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 .:: :: (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 .::. :: (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 :: p a a -> p a a atSameType = p a a -> p a a forall a. a -> a id