lol-0.7.0.0: Crypto/Lol/Types/IFunctor.hs
{-# LANGUAGE TypeFamilies #-}
module Crypto.Lol.Types.IFunctor
where
import Crypto.Lol.Factored
import Data.Constraint
class IFunctor f where
type IFElt f a :: Constraint
fmapI :: (IFElt f a, IFElt f b, Fact m) => (a -> b) -> f m a -> f m b
zipWithI :: (IFElt f a, IFElt f b, IFElt f c, Fact m)
=> (a -> b -> c) -> f m a -> f m b -> f m c