Why is there not 'Alternative' instance for 'Control.Applicative.Const'
There is an instance Monoid a => Monoid (Const a b) for the Const functor from Control.Applicative . There is also an instance Monoid m => Applicative (Const m) . I would therefore expect that there is also an instance Monoid m => Alternative (Const m) that coincides with the one for Monoid . Is this just an omission that should be fixed, or is there a deeper reason? Petr Pudlák I believe there is a deeper reason. While it seems there is no canonical set of rules for Alternative , in order for Alternative to make sense, there definitely ought to be a relationship between Alternative and its