ApplicativePlus
HaskellでのAlternativeに相当する型クラスです。Scalaz内にも7.2はではAlternativeのaliasが定義されていましたが、7.3からは消えています。why-not-alternative その名の通り、ApplicativeとPlusを継承しています。
Haskellと同じようにsome
とmany
というメソッドが定義されていますが、現状では問題があり、以下のissueで議論がされています。
https://github.com/scalaz/scalaz/issues/1097
why-not-alternative. Traverseの場合は、標準ライブラリとの名前衝突という問題でHaskellと異なる名前にしたのは妥当だと思いますが、なぜAlternativeをApplicativePlusと違う名前にしたのかは不明です ↩