module Control.Applicative.Extras ((<$$>), (<$$$>)) where (<$$$>) :: (Functor f, Functor g, Functor h) => (a -> b) -> f(g(h a)) -> f(g(h b)) (<$$$>) = fmap . fmap . fmap (<$$>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b) (<$$>) = fmap . fmap infixl 4 <$$> infixl 8 <$$$>