@@ -22,14 +22,14 @@ applyHomo (Homo f) a = f a
2222applyEndo : Endomorphism a -> a -> a
2323applyEndo (Endo f) a = f a
2424
25−instance Monad (Homomorphism r) where
26− return a = Homo $ const a
27− (Homo h) >>= f = Homo $ \r => applyHomo (f $ h r) r
28−
2925instance Applicative (Homomorphism r) where
3026 pure a = Homo $ const a
3127 (Homo f) <$> (Homo a) = Homo $ \r => f r $ a r
3228
29+instance Monad (Homomorphism r) where
30+ return a = Homo $ const a
31+ (Homo h) >>= f = Homo $ \r => applyHomo (f $ h r) r
32+
3333instance Semigroup (Endomorphism a) where
3434 (Endo f) <+> (Endo g) = Endo $ g . f
3535