pandora-0.5.6: Pandora/Pattern/Transformation/Liftable.hs
module Pandora.Pattern.Transformation.Liftable (Liftable (..)) where
import Pandora.Pattern.Functor.Covariant (Covariant)
{- |
> When providing a new instance, you should ensure it satisfies one law:
> * Interchange: lift . point ≡ point
-}
class Liftable cat t where
lift :: Covariant cat cat u => cat (u a) (t u a)