-- | -- Use bijections on 'Invariant' functors from "Data.Functor.Invariant". {-# LANGUAGE TypeOperators #-} module Data.Invertible.Invariant ( invmap ) where import Data.Invertible.Bijection import qualified Data.Functor.Invariant as I -- |Apply a bijection over an 'I.Invariant' using 'I.invmap'. invmap :: I.Invariant f => a <-> b -> f a -> f b invmap (f :<->: g) = I.invmap f g