Basic category theory for computer scientists - Pierce, Benjamin C. (Foundations of computing, 1991)