@@ -22,6 +22,9 @@ applyHomo (Homo f) a = f a
22applyEndo : Endomorphism a -> a -> a
22applyEndo : Endomorphism a -> a -> a
23applyEndo (Endo f) a = f a
23applyEndo (Endo f) a = f a
25+instance Functor (Homomorphism r) where
26+ fmap f (Homo a) = Homo (f . a)
25instance Applicative (Homomorphism r) where
28instance Applicative (Homomorphism r) where
26 pure a = Homo $ const a
29 pure a = Homo $ const a
27 (Homo f) <$> (Homo a) = Homo $ \r => f r $ a r
30 (Homo f) <$> (Homo a) = Homo $ \r => f r $ a r