  The concept of category from mathematics happens to be useful to computer
programmers in many ways. Unfortunately, all "good" explanations of categories
so far have been designed by mathematicians, or at least theoreticians with a
strong background in mathematics, and this makes categories especially
inscrutable to external audiences. More specifically, the common explanatory
route to approach categories is usually: "here is a formal specification of
what a category is; then look at these known things from maths and theoretical
computer science, and admire how they can be described using the notions of
category theory." This approach is only successful if the audience can fully
understand a conceptual object using only its formal specification. In
practice, quite a few people only adopt conceptual objects by abstracting from
two or more contexts where the concepts are applicable, instead. This is the
road taken below: reconstruct the abstractions from category theory using
scratches of understanding from various fields of computer engineering.
