在尝试熟悉Control.Arrow时,我注意到Kleisli newtype似乎承认了Functor实例,例如:
instance Monad m => Functor (Kleisli m a) where fmap f (Kleisli k) = Kleisli $ liftM f . k
有没有提供此实例的原因?它是否作为孤立实例存在于某个包中?
haskell arrows functor
arrows ×1
functor ×1
haskell ×1