Functor
- Interface: fmap
- Base: -
- Adds flavored to a type
- Laws: 2
Applicative
- Applicative (parallel) composition
- Base: Functor
- Interface: pure, apply
- Laws: 4
Monad
- Monadic (sequential) composition
- Base: Applicative
- Interface: {return, bind} OR {join}
- Laws: 3
Monoid
- Enables divide and conquer
- Base: -
- Interface: mempty, mappend
- Laws: 3
Foldable
- Reduce part in map-reduce
- Base: -
- Interface: {fold} OR {foldback}
- Laws: 0
Traversable
- list of async -> async of list
- Base: Functor, Foldable
- Interface: {traverse} OR {sequenceA}
- Laws: 2