In a relatively short time, category theory evolved from being an esoteric tool in homological algebra, through a phase of reluctant acceptance of the usefulness of its overarching language, to a lively area of research finding applications in the design of programming languages and contemporary theoretical physics, just to name a couple of usages. The current maturity of the subject and its importance throughout mathematics is witnessed by a relatively recent addition to the literature of several introductory level textbooks written by prominent young researchers in the area. The book under review is one of these books.

I should first say that to me category theory was instantly appealing when I first encountered it as a masters student. The level of bias I have toward the subject can be measured from the fact that when, as a student, I talked to a distinguished algebraist in the department and confessed my interest in categories, the professor’s face went through a series of expressions that revealed more of his true feelings than his words did. When he finally concluded, he asked “Why, are you already hooked?” Yes, yes I was.

Category theory is highly abstract and explaining why its language is so convenient and appreciating how its philosophy so sharply cuts right down to the heart of complicated mathematical matters are not simple tasks. One of the achievements of the book is in elucidating these aspects with impressive clarity and in just over 200 pages, assuming nothing more than a sufficient level of mathematical maturity expected after 2 to 4 years of studying mathematics. The book is very well and carefully crafted, with strategically chosen exercises and examples which form a trail of breadcrumbs that lead the reader through a forest of abstraction which can (perhaps retrospectively) be appreciated as forming a beautiful route visiting important landmarks and forging in the mind of the reader (who does the exercises) an understanding of powerful techniques.

What sort of context is meant in the title of the book is somewhat open for interpretation. The first few pages set the context by listing several corollaries of theorems in the book which intend to show how statements that the reader is likely to recognize and which make no mention of categories are in fact corollaries of categorical statements. Superficially, one might object to such usefulness of category theory as being just abstract nonsense; mathematical facts that can easily be derived without category theory which simply can be generalized to the level of abstract nonsense. Such criticism of category theory was commonplace and is hard to dispel. Instead, when these corollaries are encountered in the book the importance of their derivability from category theoretic principles is crystalized for the reader. As the exposition unfolds, the expectation that category theory’s purpose is to prove simple things in a most general context is gradually replaced by a much deeper realization, namely that the reader’s existing context can be lifted to extremely broad scenarios, benefiting from a two-way road for ideas and techniques to cross between the abstract and the concrete.

The first chapter is, unsurprisingly, about categories, functors, and natural transformations. A large repository of examples is constructed and, as in the rest of the text, the abstract ideas are exemplified in familiar settings, grounding the abstract notions in familiar territories. Duality is visited early on and time is given to equivalence of categories, followed by techniques of diagram chasing. The chapter closes with a view of the 2-category of categories. These topics form the basics of the terminology and techniques required further along.

Chapter two is concerned with Yoneda’s lemma, which appears prominently throughout the book. Representable functors are discussed, with numerous examples leading naturally to Yoneda’s lemma, discussed at length. The discussion continues with universal properties and a first occurrence of category theory’s propensity to restating the same thing in different ways, as universal properties are related to the category of elements. Chapter three is a detailed treatment of limits and colimits at an elementary level, including the concepts of reflection preservation and creation of limits, emphasizing the representable nature of (co)limits and using it to understand (co)limits in a general category through (co)limits in the category of sets. Completeness and cocompleteness are discussed, followed by a brief view of matters of size, finishing the chapter with interchange theorems.

Adjunctions form the topic of chapter four, again with numerous accessible examples and frequently relating the new notions to the material laid down in the preceding chapters. While the material is largely standard, culminating with adjoint functor theorems, the presentation of the very important concept of adjunction is extremely well suited to newcomers.

Chapter five, concerning monads, puts all of the gears in motion as the multifaceted nature of category theory starts to emerge. The utility of the abstract setting in order to deduce non-trivial mathematical facts as well as more trivial ones, and the resulting exchange between the abstract and the concrete shine off the results in the chapter that are scattered around like beautiful diamonds. Again, the exposition is extremely inviting, with much care taken to create a presentation of the results that feels intuitive. The results of the chapter, for instance Beck’s Monadicity theorem, are seldom found to be presented in such a way in other texts.

The final chapter is about the marvelous Kan extensions, which show, if nothing else, just how beautiful it is to be able to represent the same thing in so many different ways. The motivation of Kan extensions is explained extremely well through elementary examples and, again, this chapter ties in with all of the previous material, redefining everything in terms of Kan extensions, and thus leading back to chapter 1.

An epilogue defends the claim that there are no theorems in category theory by presenting more than a couple. The last one is the Freyd-Mitchell embedding theorem, which the author accompanies with a quote from Johnstones’s *Topos Theory*. the Freyd-Mitchell theorem says that every small abelian category can be embedded in a category of modules, and the aim of the quote is to direct the reader away from thinking that its main usage is to pretend any small abelian category is a category of modules, but rather that the right generality for proving facts about modules is to work in an abelian category. Pólya’s principle of generality is strongly at play here: the most elegant and illuminating proofs are found when the right balance is struck between generality and concreteness. Perhaps this is the context meant in the title of the book; that very often the right balance is struck with category theory.

The book is extremely pleasant to read, with masterfully crafted exercises and examples that create a beautiful and unique thread of presentation leading the reader safely into the wonderfully rich, expressive, and powerful theory of categories. The book serves very well as a first introduction preparing the reader to tackle more advanced texts.

Ittay Weiss is a Teaching Fellow at the University of Portsmouth, UK.