AZ
cophi :: (forall x . (x -> a) -> f x) -> f a
cophi alpha = alpha id
copsi :: Contravariant f => f a -> (forall x . (x -> a) -> f x)
copsi fa h = contramap h fa
Size: a a a
AZ
cophi :: (forall x . (x -> a) -> f x) -> f a
cophi alpha = alpha id
copsi :: Contravariant f => f a -> (forall x . (x -> a) -> f x)
copsi fa h = contramap h fa
AZ
ЗП
cophi :: (forall x . (x -> a) -> f x) -> f a
cophi alpha = alpha id
copsi :: Contravariant f => f a -> (forall x . (x -> a) -> f x)
copsi fa h = contramap h fa
AZ
AZ
AZ
AZ
ЗП
AZ
ЗП
data Coyoneda f a where
Coyoneda :: (b -> a) -> f b -> Coyoneda f a
data Coyoneda f a = forall b. Coyoneda (b -> a) (f b)
type Coyoneda f a = exists b. (b -> a, f b)
AZ
Oℕ
ЗП
AZ
AZ
AZ
KV
AZ
cophi :: (forall x . (x -> a) -> f x) -> f a
cophi alpha = alpha id
copsi :: Contravariant f => f a -> (forall x . (x -> a) -> f x)
copsi fa h = contramap h fa
AZ