module Control.Apply.Util ( (&), chain ) where (&) :: a -> (a -> b) -> b & :: a -> (a -> b) -> b (&) = ((a -> b) -> a -> b) -> a -> (a -> b) -> b forall a b c. (a -> b -> c) -> b -> a -> c flip (a -> b) -> a -> b forall a b. (a -> b) -> a -> b ($) chain :: [a -> a] -> a -> a chain :: [a -> a] -> a -> a chain = ((a -> a) -> (a -> a) -> a -> a) -> (a -> a) -> [a -> a] -> a -> a forall (t :: * -> *) a b. Foldable t => (a -> b -> b) -> b -> t a -> b foldr (a -> a) -> (a -> a) -> a -> a forall b c a. (b -> c) -> (a -> b) -> a -> c (.) a -> a forall a. a -> a id