monoid, monad, equalizer
CAT notes