module Data.RangeMin.Common.Combinators where

import Data.Functor

{-# INLINE on #-}
on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
(f `on` g) x y = f (g x) (g y)

{-# INLINE (<$$>) #-}
(<$$>) :: Functor f => f a -> (a -> b) -> f b
(<$$>) = flip (<$>)