laws higher-kinded types type classes functor cats monad applicative functor
See more