Algebraic Approaches to Program Semantics
Arrows, Structures, and Functors. The Categorical Imperative