Существует экземпляр Monoid a => Monoid (Const a b)
для Const
functor из Control.Applicative
. Существует также экземпляр Monoid m => Applicative (Const m)
.
Поэтому я ожидал, что есть также экземпляр Monoid m => Alternative (Const m)
, который совпадает с экземпляром для Monoid
. Это просто упущение, которое должно быть исправлено, или есть более глубокая причина?