by Phil Freeman on 2015/12/06 In Haskell and PureScript, we are familiar with certain standard hierarchies of type classes. For example, here are some of the type classes provided by the PureScript core libraries: Semigroup, Monoid Semiring, Ring, CommutativeRing, EuclideanRing, Field Functor, Apply, Applicative, Bind, Monad Extend, Comonad Alt, Plus, Alternative Semigroupoid, Category Profunctor,