Подтвердить что ты не робот

Почему альтернативный тип класса должен быть подклассом Control.Applicative

Haskell предоставляет стандартный класс "Альтернатива", который эффективно предоставляет оператор <|> для любого типа, который также является аппликативным.

Как я понимаю, альтернатива считается моноидом на аппликативной, однако оператор <|>, кажется, имеет смысл во многих типах, которые также не являются аппликативными функторами, и нет необходимости в каких-либо конкретных зависимость от Applicative typeclass для правильной работы.

Есть ли причина, по которой Alternative должна быть подклассом Applicative, и если это так, есть стандартный класс типов для определения аналогичной функциональности для неадаптивных типов?

4b9b3361