hmemcpy /milewski-ctfp-pdfTeX12K646Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX sourcehaskellcategory-theoryfunctional-programmingpdf