Basic category theory for computer scientists - Pierce, Benjamin C. (MIT Press, 1991)