Basic Category Theory for Computer Scientists by Benjamin C. Pierce - WordSea