Categorical Combinators, Sequential Algorithms, and Functional Programming by P.L. Curien