Well, that diagram at the end is something I&#x27;ve been looking for, for the longest time. I haven&#x27;t been able to find a concise relationship of all the functional terms&#x2F;interfaces.<p>I think the part that eludes many tutorials and articles, is explaining what exactly we&#x27;re calling a monoid or a monad. Is it the actual set of laws? Is it an abstract &quot;object&quot;? And although there are many attempts at simplifying their explanations, I found that is necessary to grasp the concept of a category first. Really having an intuition for a category gives way to understanding functors, etc. because that&#x27;s what their definition is based on. Attempting to explain functors, etc. just with functions (of any language) will leave the learner hanging as to what exactly a functor is, since languages just implement them, but category theory provides the underlying abstraction that gives them context.