# FSharpPlus [FSharpPlus](https://fsprojects.github.io/FSharpPlus) provides implementations for the following abstractions: - [[FSharpPlus Monoid|Monoids]] and [[FSharpPlus Monad|Monads]] - [[FSharpPlus Functor|Covariant Functors]], [[FSharpPlus Applicative Functor|Applicative Functors]], and [[FSharpPlus Bifunctor|Bifunctors]] - [[FSharpPlus Contravariant Functor|Contravariant Functors]] - [[FSharpPlus Foldable|Foldables]] and [[FSharpPlus Traversable|Traversables]] It also includes implementations for various concrete data types including: - [[FSharpPlus Const|Const]] – a phantom functor - [[FSharpPlus Free|Free]] – the FSharpPlus version of a free monad - [[FSharpPlus Endo|Endo]] – the FSharpPlus version of an endofunctor - [[FSharpPlus Dual|Dual]] – a monoid that reverses its wrapped monoid ## Abstractions Diagram The [FSharpPlus](https://fsprojects.github.io/FSharpPlus) library provides a very nice [abstractions diagram](https://fsprojects.github.io/FSharpPlus/abstractions.htm): <iframe width=100% height=800px src="https://fsprojects.github.io/FSharpPlus/abstractions.html"></iframe>